diff --git a/mm/bootmem.c b/mm/bootmem.c index 4af15d0340adaa7bc9cded10d36302679d86f90a..e023c68b025555b6110e8d6352f9ad19e5c7f7f7 100644 --- a/mm/bootmem.c +++ b/mm/bootmem.c @@ -473,7 +473,7 @@ static void * __init alloc_bootmem_core(struct bootmem_data *bdata, goto find_block; } - if (bdata->last_end_off && + if (bdata->last_end_off & (PAGE_SIZE - 1) && PFN_DOWN(bdata->last_end_off) + 1 == sidx) start_off = ALIGN(bdata->last_end_off, align); else