powerpc/64e: Fix oops due to deferral of paca allocation

Michael Ellerman patch-notifications at ellerman.id.au
Sun Apr 1 01:04:16 AEDT 2018


On Sat, 2018-03-31 at 11:51:38 UTC, Michael Ellerman wrote:
> 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 at ellerman.id.au>

Applied to powerpc next.

https://git.kernel.org/powerpc/c/1d0afc0d5a7c281f8ced3bd39f61f3

cheers


More information about the Linuxppc-dev mailing list