diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c index 40ed13d263cd5ccccb6a210cee4b0005927822fc..675a4569133888e3d93dedb827d1edd19f1ff76c 100644 --- a/arch/x86_64/mm/init.c +++ b/arch/x86_64/mm/init.c @@ -344,7 +344,7 @@ void __meminit init_memory_mapping(unsigned long start, unsigned long end) pud_t *pud; if (after_bootmem) - pud = pud_offset_k(pgd, __PAGE_OFFSET); + pud = pud_offset_k(pgd, start & PGDIR_MASK); else pud = alloc_low_page(&map, &pud_phys);