aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2011-01-11 14:45:31 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-01-20 22:08:37 -0500
commita443506b8598bbd784cfe403ad1db2c7083ff465 (patch)
treeb561e390f350c149df8006120269227ad2de97cd /arch/powerpc/kernel
parent7071854bb248926b85141d791f9fa17901a6fa4b (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.c5
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;