powerpc: improve handling of unrecoverable system reset
If an unrecoverable system reset hits in process context, the system does not have to panic. Similar to machine check, call nmi_exit() before die(). 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-26-npiggin@gmail.com
This commit is contained in:
committed by
Michael Ellerman
parent
c538938fa2
commit
11cb0a25f7
@@ -503,8 +503,11 @@ out:
|
|||||||
die("Unrecoverable nested System Reset", regs, SIGABRT);
|
die("Unrecoverable nested System Reset", regs, SIGABRT);
|
||||||
#endif
|
#endif
|
||||||
/* Must die if the interrupt is not recoverable */
|
/* Must die if the interrupt is not recoverable */
|
||||||
if (!(regs->msr & MSR_RI))
|
if (!(regs->msr & MSR_RI)) {
|
||||||
|
/* For the reason explained in die_mce, nmi_exit before die */
|
||||||
|
nmi_exit();
|
||||||
die("Unrecoverable System Reset", regs, SIGABRT);
|
die("Unrecoverable System Reset", regs, SIGABRT);
|
||||||
|
}
|
||||||
|
|
||||||
if (saved_hsrrs) {
|
if (saved_hsrrs) {
|
||||||
mtspr(SPRN_HSRR0, hsrr0);
|
mtspr(SPRN_HSRR0, hsrr0);
|
||||||
|
|||||||
Reference in New Issue
Block a user