aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init_64.c
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2008-07-16 12:11:59 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-16 12:27:36 -0400
commite22146e610bb7aed63282148740ab1d1b91e1d90 (patch)
tree85cb5c7578efbab1d0e37382bf213da5ebeded37 /arch/x86/mm/init_64.c
parent45158894d4d6704afbb4cefe55e5f6ca279fe12a (diff)
x86: fix kernel_physical_mapping_init() for large x86 systems
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>
Diffstat (limited to 'arch/x86/mm/init_64.c')
-rw-r--r--arch/x86/mm/init_64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 27de2435e008..306049edd553 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -644,7 +644,7 @@ static unsigned long __init kernel_physical_mapping_init(unsigned long start,
644 unsigned long pud_phys; 644 unsigned long pud_phys;
645 pud_t *pud; 645 pud_t *pud;
646 646
647 next = start + PGDIR_SIZE; 647 next = (start + PGDIR_SIZE) & PGDIR_MASK;
648 if (next > end) 648 if (next > end)
649 next = end; 649 next = end;
650 650