diff options
author | Anton Blanchard <anton@samba.org> | 2011-01-11 19:45:31 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-01-21 14:08:37 +1100 |
commit | a443506b8598bbd784cfe403ad1db2c7083ff465 (patch) | |
tree | b561e390f350c149df8006120269227ad2de97cd /arch/powerpc/kernel | |
parent | 7071854bb248926b85141d791f9fa17901a6fa4b (diff) | |
download | talos-op-linux-a443506b8598bbd784cfe403ad1db2c7083ff465.tar.gz talos-op-linux-a443506b8598bbd784cfe403ad1db2c7083ff465.zip |
powerpc: Don't force MSR_RI in machine_check_exception
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>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 1b2cdc8eec90..6865002df6ce 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c @@ -627,7 +627,6 @@ void machine_check_exception(struct pt_regs *regs) 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_regs *regs) return; #endif - if (debugger_fault_handler(regs)) { - regs->msr |= MSR_RI; + if (debugger_fault_handler(regs)) return; - } if (check_io_access(regs)) return; |