diff options
author | Anton Blanchard <anton@samba.org> | 2011-01-11 14:45:31 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-01-20 22:08:37 -0500 |
commit | a443506b8598bbd784cfe403ad1db2c7083ff465 (patch) | |
tree | b561e390f350c149df8006120269227ad2de97cd /arch/powerpc/kernel | |
parent | 7071854bb248926b85141d791f9fa17901a6fa4b (diff) |
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) | |||
627 | return; | 627 | return; |
628 | 628 | ||
629 | if (user_mode(regs)) { | 629 | if (user_mode(regs)) { |
630 | regs->msr |= MSR_RI; | ||
631 | _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); | 630 | _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); |
632 | return; | 631 | return; |
633 | } | 632 | } |
@@ -643,10 +642,8 @@ void machine_check_exception(struct pt_regs *regs) | |||
643 | return; | 642 | return; |
644 | #endif | 643 | #endif |
645 | 644 | ||
646 | if (debugger_fault_handler(regs)) { | 645 | if (debugger_fault_handler(regs)) |
647 | regs->msr |= MSR_RI; | ||
648 | return; | 646 | return; |
649 | } | ||
650 | 647 | ||
651 | if (check_io_access(regs)) | 648 | if (check_io_access(regs)) |
652 | return; | 649 | return; |