Message ID | 20110112164531.0f8ea467@kryten (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | a443506b8598bbd784cfe403ad1db2c7083ff465 |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
Index: powerpc.git/arch/powerpc/kernel/traps.c =================================================================== --- powerpc.git.orig/arch/powerpc/kernel/traps.c 2011-01-11 13:46:39.541038778 +1100 +++ powerpc.git/arch/powerpc/kernel/traps.c 2011-01-11 13:46:42.601133580 +1100 @@ -627,7 +627,6 @@ void machine_check_exception(struct pt_r return; if (user_mode(regs)) { - regs->msr |= MSR_RI; _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); return; } @@ -643,10 +642,8 @@ void machine_check_exception(struct pt_r return; #endif - if (debugger_fault_handler(regs)) { - regs->msr |= MSR_RI; + if (debugger_fault_handler(regs)) return; - } if (check_io_access(regs)) return;
We should never force MSR_RI on. If we take a machine check with MSR_RI off then we have no chance of recovering safely. Signed-off-by: Anton Blanchard <anton@samba.org> ---