[PATCH] ppc64: poison invalid cpus
Anton Blanchard
anton at samba.org
Sat Feb 11 22:55:09 EST 2006
Ensure that per cpu access to !possible cpus causes a fault instead of silent
corruption.
Signed-off-by: Anton Blanchard <anton at samba.org>
Signed-off-by: Olaf Hering <olh at suse.de>
---
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)
More information about the Linuxppc-dev
mailing list