Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Jianyu Zhan and committed by
Ingo Molnar
10ee7386 9999c8c0

-2
-2
arch/x86/kernel/traps.c
··· 248 248 tsk->thread.error_code = error_code; 249 249 tsk->thread.trap_nr = trapnr; 250 250 251 - #ifdef CONFIG_X86_64 252 251 if (show_unhandled_signals && unhandled_signal(tsk, signr) && 253 252 printk_ratelimit()) { 254 253 pr_info("%s[%d] trap %s ip:%lx sp:%lx error:%lx", ··· 256 257 print_vma_addr(" in ", regs->ip); 257 258 pr_cont("\n"); 258 259 } 259 - #endif 260 260 261 261 force_sig_info(signr, info ?: SEND_SIG_PRIV, tsk); 262 262 }