powerpc/mce: ensure machine check handler always tests RI
A machine check that is handled must still check MSR[RI] for recoverability of the interrupted context. Without this patch it's possible for a handled machine check to return to a context where it has clobbered live registers. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210130130852.2952424-25-npiggin@gmail.com
This commit is contained in:
parent
209e9d500e
commit
c538938fa2
@ -846,11 +846,11 @@ void machine_check_exception(struct pt_regs *regs)
|
||||
|
||||
die_mce("Machine check", regs, SIGBUS);
|
||||
|
||||
bail:
|
||||
/* Must die if the interrupt is not recoverable */
|
||||
if (!(regs->msr & MSR_RI))
|
||||
die_mce("Unrecoverable Machine check", regs, SIGBUS);
|
||||
|
||||
bail:
|
||||
if (nmi) nmi_exit();
|
||||
}
|
||||
NOKPROBE_SYMBOL(machine_check_exception);
|
||||
|
Loading…
Reference in New Issue
Block a user