[PATCH RFC] x86/traps: show unhandled signal for i386 in do_trap()

From: Jianyu Zhan
Date: Thu Mar 10 2016 - 07:20:22 EST


Commit abd4f7505baf ("x86: i386-show-unhandled-signals-v3") did turn on
the showing-unhandled-signal behaviour for i386 for some exception handlers,
but for no reason do_trap() is left out(my naive guess is because turning it on
for do_trap() would be too noisy since do_trap() is shared by several exceptions).

And since the same commit make "show_unhandled_signals" a debug tunable(in
/proc/sys/debug/exception-trace), and x86 by default turning it on. So it would be
strange for i386 users who turing it on manually and expect seeing the unhandled signal
output in log, but nothing.

This patch turns it on for i386 in do_trap().

Signed-off-by: Jianyu Zhan <nasa4836@xxxxxxxxx>
---
arch/x86/kernel/traps.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index ade185a..ef54dbb 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -262,7 +262,6 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
tsk->thread.error_code = error_code;
tsk->thread.trap_nr = trapnr;

-#ifdef CONFIG_X86_64
if (show_unhandled_signals && unhandled_signal(tsk, signr) &&
printk_ratelimit()) {
pr_info("%s[%d] trap %s ip:%lx sp:%lx error:%lx",
@@ -271,7 +270,6 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
print_vma_addr(" in ", regs->ip);
pr_cont("\n");
}
-#endif

force_sig_info(signr, info ?: SEND_SIG_PRIV, tsk);
}
--
2.4.3