|
@@ -56,7 +56,7 @@ early_param("bootmem_debug", bootmem_debug_setup);
|
|
|
|
|
|
static unsigned long __init bootmap_bytes(unsigned long pages)
|
|
|
{
|
|
|
- unsigned long bytes = (pages + 7) / 8;
|
|
|
+ unsigned long bytes = DIV_ROUND_UP(pages, 8);
|
|
|
|
|
|
return ALIGN(bytes, sizeof(long));
|
|
|
}
|
|
@@ -197,7 +197,7 @@ static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
|
|
|
idx = start - bdata->node_min_pfn;
|
|
|
vec = ~map[idx / BITS_PER_LONG];
|
|
|
|
|
|
- if (aligned && vec == ~0UL && start + BITS_PER_LONG < end) {
|
|
|
+ if (aligned && vec == ~0UL && start + BITS_PER_LONG <= end) {
|
|
|
int order = ilog2(BITS_PER_LONG);
|
|
|
|
|
|
__free_pages_bootmem(pfn_to_page(start), order);
|