Messages in this thread Patch in this message | | | Date | Wed, 16 Jul 2008 11:11:59 -0500 | From | Jack Steiner <> | Subject | [PATCH] - 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>
--- arch/x86/mm/init_64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/arch/x86/mm/init_64.c =================================================================== --- linux.orig/arch/x86/mm/init_64.c 2008-07-15 16:43:49.000000000 -0500 +++ linux/arch/x86/mm/init_64.c 2008-07-16 11:00:25.000000000 -0500 @@ -644,7 +644,7 @@ static unsigned long __init kernel_physi unsigned long pud_phys; pud_t *pud; - next = start + PGDIR_SIZE; + next = (start + PGDIR_SIZE) & PGDIR_MASK; if (next > end) next = end;
| |