aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianyu Zhan <nasa4836@gmail.com>2016-03-10 07:19:58 -0500
committerIngo Molnar <mingo@kernel.org>2016-03-10 12:37:25 -0500
commit10ee73865e9e4705ba8b3f4d6149e8e68d902bb7 (patch)
treed80a1936e68f01230c225e6fc56dec63b80d0f9e
parent9999c8c01f34c918a57d6e5ba2f5d8b79aa04801 (diff)
x86/entry/traps: Show unhandled signal for i386 in do_trap()
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() as well. Signed-off-by: Jianyu Zhan <nasa4836@gmail.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: bp@suse.de Cc: dave.hansen@linux.intel.com Cc: heukelum@fastmail.fm Cc: jbeulich@novell.com Cc: jdike@addtoit.com Cc: joe@perches.com Cc: luto@kernel.org Link: http://lkml.kernel.org/r/1457612398-4568-1-git-send-email-nasa4836@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/x86/kernel/traps.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 5fae2d840e64..1baf08187ddf 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -248,7 +248,6 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
248 tsk->thread.error_code = error_code; 248 tsk->thread.error_code = error_code;
249 tsk->thread.trap_nr = trapnr; 249 tsk->thread.trap_nr = trapnr;
250 250
251#ifdef CONFIG_X86_64
252 if (show_unhandled_signals && unhandled_signal(tsk, signr) && 251 if (show_unhandled_signals && unhandled_signal(tsk, signr) &&
253 printk_ratelimit()) { 252 printk_ratelimit()) {
254 pr_info("%s[%d] trap %s ip:%lx sp:%lx error:%lx", 253 pr_info("%s[%d] trap %s ip:%lx sp:%lx error:%lx",
@@ -257,7 +256,6 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
257 print_vma_addr(" in ", regs->ip); 256 print_vma_addr(" in ", regs->ip);
258 pr_cont("\n"); 257 pr_cont("\n");
259 } 258 }
260#endif
261 259
262 force_sig_info(signr, info ?: SEND_SIG_PRIV, tsk); 260 force_sig_info(signr, info ?: SEND_SIG_PRIV, tsk);
263} 261}