aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/traps.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/traps.c')
-rw-r--r--arch/s390/kernel/traps.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index aa0d7ee71c78..f0e5a320e2ec 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -490,8 +490,15 @@ static void illegal_op(struct pt_regs * regs, long interruption_code)
490#endif 490#endif
491 } else 491 } else
492 signal = SIGILL; 492 signal = SIGILL;
493 } else 493 } else {
494 signal = SIGILL; 494 /*
495 * If we get an illegal op in kernel mode, send it through the
496 * kprobes notifier. If kprobes doesn't pick it up, SIGILL
497 */
498 if (notify_die(DIE_BPT, "bpt", regs, interruption_code,
499 3, SIGTRAP) != NOTIFY_STOP)
500 signal = SIGILL;
501 }
495 502
496#ifdef CONFIG_MATHEMU 503#ifdef CONFIG_MATHEMU
497 if (signal == SIGFPE) 504 if (signal == SIGFPE)