Skip to content

Commit 0bbea75

Browse files
chleroympe
authored andcommitted
powerpc/traps: fix recoverability of machine check handling on book3s/32
Looks like book3s/32 doesn't set RI on machine check, so checking RI before calling die() will always be fatal allthought this is not an issue in most cases. Fixes: b96672d ("powerpc: Machine check interrupt is a non-maskable interrupt") Fixes: daf00ae ("powerpc/traps: restore recoverability of machine_check interrupts") Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Cc: stable@vger.kernel.org Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent ab44840 commit 0bbea75

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

arch/powerpc/kernel/traps.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -756,15 +756,15 @@ void machine_check_exception(struct pt_regs *regs)
756756
if (check_io_access(regs))
757757
goto bail;
758758

759-
/* Must die if the interrupt is not recoverable */
760-
if (!(regs->msr & MSR_RI))
761-
nmi_panic(regs, "Unrecoverable Machine check");
762-
763759
if (!nested)
764760
nmi_exit();
765761

766762
die("Machine check", regs, SIGBUS);
767763

764+
/* Must die if the interrupt is not recoverable */
765+
if (!(regs->msr & MSR_RI))
766+
nmi_panic(regs, "Unrecoverable Machine check");
767+
768768
return;
769769

770770
bail:

0 commit comments

Comments
 (0)