summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/paca.c
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2012-09-07 17:31:44 +0200
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-09-10 01:35:27 +0200
commit407821a34fce89b4f0b031dbab5cec7d059f46bc (patch)
tree36aa8357700f25acac080003fbed376f737ca1b4 /arch/powerpc/kernel/paca.c
parentpowerpc: Use the XDABR hcall (diff)
downloadlinux-407821a34fce89b4f0b031dbab5cec7d059f46bc.tar.xz
linux-407821a34fce89b4f0b031dbab5cec7d059f46bc.zip
powerpc: Initialise paca.data_offset with poison
It's possible for the cpu_possible_mask to change between the time we initialise the pacas and the time we setup per_cpu areas. Obviously impossible cpus shouldn't ever be running, but stranger things have happened. So be paranoid and initialise data_offset with a poison value in case we don't set it up later. Based on a patch from Anton Blanchard. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/paca.c')
-rw-r--r--arch/powerpc/kernel/paca.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index fbe1a12dc7f1..cd6da855090c 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -142,6 +142,7 @@ void __init initialise_paca(struct paca_struct *new_paca, int cpu)
new_paca->hw_cpu_id = 0xffff;
new_paca->kexec_state = KEXEC_STATE_NONE;
new_paca->__current = &init_task;
+ new_paca->data_offset = 0xfeeeeeeeeeeeeeeeULL;
#ifdef CONFIG_PPC_STD_MMU_64
new_paca->slb_shadow_ptr = &slb_shadow[cpu];
#endif /* CONFIG_PPC_STD_MMU_64 */