summary refs log tree commit diff
path: root/arch/powerpc/platforms/pseries/ras.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2021-01-30 23:08:33 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2021-02-09 00:02:11 +1100
commit209e9d500e25eada096b2c09a34093bc458166f3 (patch)
treef2f9b5484471d2f641c25ea289ca4e398a02657f /arch/powerpc/platforms/pseries/ras.c
parentdcdb4f12963f3f4200e24e1dad78564a98736f67 (diff)
downloadlinux-209e9d500e25eada096b2c09a34093bc458166f3.tar.gz
powerpc: introduce die_mce
As explained by commit daf00ae71dad ("powerpc/traps: restore
recoverability of machine_check interrupts"), die() can't be called from
within nmi_enter to nicely kill a process context that was interrupted.
nmi_exit must be called first.

This adds a function die_mce which takes care of this for machine check
handlers.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210130130852.2952424-24-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/platforms/pseries/ras.c')
-rw-r--r--arch/powerpc/platforms/pseries/ras.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
index d2fca1aa6742..92c08fe893cf 100644
--- a/arch/powerpc/platforms/pseries/ras.c
+++ b/arch/powerpc/platforms/pseries/ras.c
@@ -808,7 +808,7 @@ static int recover_mce(struct pt_regs *regs, struct machine_check_event *evt)
 			 */
 			recovered = 0;
 		} else {
-			die("Machine check", regs, SIGBUS);
+			die_mce("Machine check", regs, SIGBUS);
 			recovered = 1;
 		}
 	}