summary refs log tree commit diff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2011-01-11 19:45:31 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-01-21 14:08:37 +1100
commita443506b8598bbd784cfe403ad1db2c7083ff465 (patch)
treeb561e390f350c149df8006120269227ad2de97cd /arch/powerpc
parent7071854bb248926b85141d791f9fa17901a6fa4b (diff)
downloadlinux-a443506b8598bbd784cfe403ad1db2c7083ff465.tar.gz
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')
-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)
 		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;