diff --git a/mm/bootmem.c b/mm/bootmem.c index 0131170c9d540a572c7b2ba3108ca5c2d9db30b7..67872fca97d962ade7a772caad9c1db17d59df51 100644 --- a/mm/bootmem.c +++ b/mm/bootmem.c @@ -203,6 +203,7 @@ static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata) } else { unsigned long off = 0; + vec >>= start & (BITS_PER_LONG - 1); while (vec && off < BITS_PER_LONG) { if (vec & 1) { page = pfn_to_page(start + off);