diff options
Diffstat (limited to 'arch/powerpc/kernel/paca.c')
-rw-r--r-- | arch/powerpc/kernel/paca.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c index d6e195e8cd4c..5a23b69f8129 100644 --- a/arch/powerpc/kernel/paca.c +++ b/arch/powerpc/kernel/paca.c | |||
@@ -115,6 +115,14 @@ static struct slb_shadow * __init init_slb_shadow(int cpu) | |||
115 | { | 115 | { |
116 | struct slb_shadow *s = &slb_shadow[cpu]; | 116 | struct slb_shadow *s = &slb_shadow[cpu]; |
117 | 117 | ||
118 | /* | ||
119 | * When we come through here to initialise boot_paca, the slb_shadow | ||
120 | * buffers are not allocated yet. That's OK, we'll get one later in | ||
121 | * boot, but make sure we don't corrupt memory at 0. | ||
122 | */ | ||
123 | if (!slb_shadow) | ||
124 | return NULL; | ||
125 | |||
118 | s->persistent = cpu_to_be32(SLB_NUM_BOLTED); | 126 | s->persistent = cpu_to_be32(SLB_NUM_BOLTED); |
119 | s->buffer_length = cpu_to_be32(sizeof(*s)); | 127 | s->buffer_length = cpu_to_be32(sizeof(*s)); |
120 | 128 | ||