Stack protector crash in pnv_smp_cpu_kill_self()

Segher Boessenkool segher at kernel.crashing.org
Wed Oct 17 01:23:41 AEDT 2018


On Wed, Oct 17, 2018 at 12:21:50AM +1100, Michael Ellerman wrote:
> Christophe LEROY <christophe.leroy at c-s.fr> writes:
> 
> > Looks like a lack of initialisation of the canary for the non-boot CPUs 
> > on SMP, you applied this morning the patch I sent you for that.
> >
> > Is the patch in ?
> 
> Yeah it is.
> 
>   $ git log --oneline 4ffe713b7587 arch/powerpc/kernel/smp.c
>   8e8a31d7fd54 powerpc: Use cpu_smallcore_sibling_mask at SMT level on bigcores
>   425752c63b6f powerpc: Detect the presence of big-cores via "ibm, thread-groups"
>   7241d26e8175 powerpc/64: properly initialise the stackprotector canary on SMP.
> 
> 
> It only happens on a specific Power9 machine, not in sim, but it's 100%
> reproducible on that hardware.
> 
> The canary value has changed (?!).
> 
> The value in paca->canary and current->canary agree, but they don't
> match what's in the stack.
> 
> Clearly the idle code is doing something I don't understand :)

Did something actually corrupt the stack?


Segher


More information about the Linuxppc-dev mailing list