[PATCH] ppc64: poison invalid cpus
From: Anton Blanchard <hidden>
Date: 2006-02-11 11:55:09
Ensure that per cpu access to !possible cpus causes a fault instead of silent corruption. Signed-off-by: Anton Blanchard <redacted> Signed-off-by: Olaf Hering <redacted> --- Thanks Olaf, I had forgotten to send it out. Index: linux-2.6.16-rc1-git3/arch/powerpc/kernel/setup_64.c ===================================================================
--- linux-2.6.16-rc1-git3.orig/arch/powerpc/kernel/setup_64.c
+++ linux-2.6.16-rc1-git3/arch/powerpc/kernel/setup_64.c@@ -670,6 +670,14 @@ void __init setup_per_cpu_areas(void) size = PERCPU_ENOUGH_ROOM; #endif + /* + * Poison invalid cpus, with lots of high bits set this should + * always fault + */ + for (i = 0; i < NR_CPUS; i++) { + paca[i].data_offset = 0xeeeeeeeeeeeeeeeeULL; + } + for_each_cpu(i) { ptr = alloc_bootmem_node(NODE_DATA(cpu_to_node(i)), size); if (!ptr)