[PATCH] - Fix kernel_physical_mapping_init() for large x86 systems

From: Jack Steiner
Date: Wed Jul 16 2008 - 12:12:43 EST


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@xxxxxxx>

---
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;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/