diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2018-03-31 12:57:10 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-03-31 16:47:38 +0300 |
commit | 1d0afc0d5a7c281f8ced3bd39f61f3328d5d3822 (patch) | |
tree | 7c65dd8321b532d05cab7f707e540b9b56e975f8 /arch/powerpc/platforms/embedded6xx | |
parent | ca9a16c3bc1582da62ef9c47fc22008447f7ae0e (diff) | |
download | linux-1d0afc0d5a7c281f8ced3bd39f61f3328d5d3822.tar.xz |
powerpc/64e: Fix oops due to deferral of paca allocation
On 64-bit Book3E systems, in setup_tlb_core_data() we reference other
CPUs pacas. But in commit 59f577743d71 ("powerpc/64: Defer paca
allocation until memory topology is discovered") the allocation of
non-boot-CPU pacas was deferred until later in boot.
This leads to an oops:
CPU maps initialized for 1 thread per core
Unable to handle kernel paging request for data at address 0x8888888888888918
Faulting instruction address: 0xc000000000e2f0d0
Oops: Kernel access of bad area, sig: 11 [#1]
NIP .setup_tlb_core_data+0xdc/0x160
Call Trace:
.setup_tlb_core_data+0x5c/0x160 (unreliable)
.setup_arch+0x80/0x348
.start_kernel+0x7c/0x598
start_here_common+0x1c/0x40
Luckily setup_tlb_core_data() is called immediately prior to
smp_setup_pacas(). So simply switching their order is sufficient to
fix the oops and seems unlikely to have any other unwanted side
effects.
Fixes: 59f577743d71 ("powerpc/64: Defer paca allocation until memory topology is discovered")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/embedded6xx')
0 files changed, 0 insertions, 0 deletions