Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1355077 > unrolled thread

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

Started byJianyu Zhan <nasa4836@gmail.com>
First post2016-03-10 13:30 +0100
Last post2016-03-10 19:40 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH RFC] x86/traps: show unhandled signal for i386 in do_trap() Jianyu Zhan <nasa4836@gmail.com> - 2016-03-10 13:30 +0100
    Re: [PATCH RFC] x86/traps: show unhandled signal for i386 in  do_trap() "Jan Beulich" <JBeulich@suse.com> - 2016-03-10 14:50 +0100
    [tip:x86/asm] x86/entry/traps: Show unhandled signal for i386 in  do_trap() tip-bot for Jianyu Zhan <tipbot@zytor.com> - 2016-03-10 19:40 +0100

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

FromJianyu Zhan <nasa4836@gmail.com>
Date2016-03-10 13:30 +0100
Subject[PATCH RFC] x86/traps: show unhandled signal for i386 in do_trap()
Message-ID<rb7T3-6WL-1@gated-at.bofh.it>
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@gmail.com>
---
 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

[toc] | [next] | [standalone]


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

From"Jan Beulich" <JBeulich@suse.com>
Date2016-03-10 14:50 +0100
SubjectRe: [PATCH RFC] x86/traps: show unhandled signal for i386 in do_trap()
Message-ID<rb98t-7FW-3@gated-at.bofh.it>
In reply to#1355077
>>> On 10.03.16 at 13:19, <nasa4836@gmail.com> wrote:
> 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@gmail.com>

I've been carrying this patch for years, without ever being able to
decide whether the distinction between 32-bit and 64-bit was
intentional.

Reviewed-by: Jan Beulich <jbeulich@suse.com>

[toc] | [prev] | [next] | [standalone]


#1355311 — [tip:x86/asm] x86/entry/traps: Show unhandled signal for i386 in do_trap()

Fromtip-bot for Jianyu Zhan <tipbot@zytor.com>
Date2016-03-10 19:40 +0100
Subject[tip:x86/asm] x86/entry/traps: Show unhandled signal for i386 in do_trap()
Message-ID<rbdF8-2tR-15@gated-at.bofh.it>
In reply to#1355077
Commit-ID:  10ee73865e9e4705ba8b3f4d6149e8e68d902bb7
Gitweb:     http://git.kernel.org/tip/10ee73865e9e4705ba8b3f4d6149e8e68d902bb7
Author:     Jianyu Zhan <nasa4836@gmail.com>
AuthorDate: Thu, 10 Mar 2016 20:19:58 +0800
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 10 Mar 2016 18:37:25 +0100

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>
---
 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 5fae2d8..1baf081 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,
 	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",
@@ -257,7 +256,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);
 }

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web