When we have VMAP stack, exception prolog 1 sets r1, not r11.
But exception prolog 1 uses r1 to setup r1 when machine check happens in kernel.
So r1 must be restored when the branch is not taken. See subsequent patch I just sent out.
Christophe
quoted hunk
Fixes: da7bb43ab9da ("powerpc/32: Fix vmap stack - Properly set r1 before activating MMU")
Fixes: d2e006036082 ("powerpc/32: Use SPRN_SPRG_SCRATCH2 in exception prologs")
Cc: stable@vger.kernel.org
Signed-off-by: Christophe Leroy <redacted>
---
arch/powerpc/kernel/head_book3s_32.S | 7 +++++++
1 file changed, 7 insertions(+)
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2020-12-24 01:06:32
Christophe Leroy [off-list ref] writes:
Le 22/12/2020 à 08:11, Christophe Leroy a écrit :
quoted
When we have VMAP stack, exception prolog 1 sets r1, not r11.
But exception prolog 1 uses r1 to setup r1 when machine check happens in kernel.
So r1 must be restored when the branch is not taken. See subsequent patch I just sent out.
OK. This is still on the tip of fixes, so I'll rewind it to drop this
commit, and then apply this and the fixup as one patch next week.
cheers