diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-20 17:24:03 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-08-01 12:43:10 -0700 |
commit | 2c679441bc5724cee72d19ad786c03236ad6c68d (patch) | |
tree | a21aab5b119b3269fbfe576eb3889d82a315dc89 /arch/x86 | |
parent | 36f11ab7531b470393fee7f4f8be6035c3a75d7b (diff) | |
download | linux-stable-2c679441bc5724cee72d19ad786c03236ad6c68d.tar.gz linux-stable-2c679441bc5724cee72d19ad786c03236ad6c68d.tar.bz2 linux-stable-2c679441bc5724cee72d19ad786c03236ad6c68d.zip |
x86: fix kernel_physical_mapping_init() for large x86 systems
based on e22146e610bb7aed63282148740ab1d1b91e1d90 upstream
Fix bug in kernel_physical_mapping_init() that causes kernel
page table to be built incorrectly for systems with greater
than 512GB of memory.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: linux-mm@kvack.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Oliver Pinter <oliver.pntr@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/init_64.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 819dad973b13..7b27710ce3b7 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -579,7 +579,7 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, unsigned lon else pud = alloc_low_page(&pud_phys); - next = start + PGDIR_SIZE; + next = (start + PGDIR_SIZE) & PGDIR_MASK; if (next > end) next = end; last_map_addr = phys_pud_init(pud, __pa(start), __pa(next)); |