diff options
author | Jack Steiner <steiner@sgi.com> | 2008-07-16 12:11:59 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-16 12:27:36 -0400 |
commit | e22146e610bb7aed63282148740ab1d1b91e1d90 (patch) | |
tree | 85cb5c7578efbab1d0e37382bf213da5ebeded37 /arch/x86/mm/init_64.c | |
parent | 45158894d4d6704afbb4cefe55e5f6ca279fe12a (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.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 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 | ||