Use correct PUD for memory hotadd From: Jan Beulich Memory >39bits has a different PUD. Cc: "Tolentino, Matthew E" Signed-off-by: Andi Kleen Index: linux/arch/x86_64/mm/init.c =================================================================== --- linux.orig/arch/x86_64/mm/init.c +++ linux/arch/x86_64/mm/init.c @@ -344,7 +344,7 @@ void __meminit init_memory_mapping(unsig 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);