[PATCH] ppc64: Fix a typo in the code that reserves memory at boot

Benjamin Herrenschmidt benh at kernel.crashing.org
Sat Oct 16 14:55:45 EST 2004


Hi !

The code that marks memory regions as "reserved" early during boot
has a typo (doing incorrect rounding of the top address) which can
cause some areas to not be properly reserved. That may explain some
cases of initrd corruption reported recently.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

===== arch/ppc64/kernel/prom_init.c 1.2 vs edited =====
--- 1.2/arch/ppc64/kernel/prom_init.c	2004-09-27 19:12:49 +10:00
+++ edited/arch/ppc64/kernel/prom_init.c	2004-10-16 14:53:28 +10:00
@@ -595,7 +595,7 @@
 	 * dumb and just copy this entire array to the boot params
 	 */
 	base = _ALIGN_DOWN(base, PAGE_SIZE);
-	top = _ALIGN_DOWN(top, PAGE_SIZE);
+	top = _ALIGN_UP(top, PAGE_SIZE);
 	size = top - base;
 
 	if (cnt >= (MEM_RESERVE_MAP_SIZE - 1))





More information about the Linuxppc64-dev mailing list