diff options
author | Adrien Schildknecht <adrien+dev@schischi.me> | 2015-02-20 03:34:21 +0100 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2015-02-23 18:34:42 +0100 |
commit | 1fc7f61c3e604f6bf778b5c6afc2715d79ab7f36 (patch) | |
tree | 22846e0dfc2a9922d8967cef5c50bbaf4a3d2832 /arch/x86/kernel/dumpstack_32.c | |
parent | c517d838eb7d07bbe9507871fab3931deccff539 (diff) | |
download | lwn-1fc7f61c3e604f6bf778b5c6afc2715d79ab7f36.tar.gz lwn-1fc7f61c3e604f6bf778b5c6afc2715d79ab7f36.zip |
x86/kernel: Fix output of show_stack_log_lvl()
show_stack_log_lvl() does not set the log level after a new line, the
following messages printed with pr_cont() are thus assigned to the
default log level.
This patch prepends the log level to the next message following a new
line.
print_trace_address() uses printk(log_lvl). Using printk() with just
a log level is ignored and thus has no effect on the next pr_cont().
We need to prepend the log level directly into the message.
Signed-off-by: Adrien Schildknecht <adrien+dev@schischi.me>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1424399661-20327-1-git-send-email-adrien+dev@schischi.me
Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'arch/x86/kernel/dumpstack_32.c')
-rw-r--r-- | arch/x86/kernel/dumpstack_32.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c index 5abd4cd4230c..efff5ed6045d 100644 --- a/arch/x86/kernel/dumpstack_32.c +++ b/arch/x86/kernel/dumpstack_32.c @@ -108,9 +108,12 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs, for (i = 0; i < kstack_depth_to_print; i++) { if (kstack_end(stack)) break; - if (i && ((i % STACKSLOTS_PER_LINE) == 0)) - pr_cont("\n"); - pr_cont(" %08lx", *stack++); + if ((i % STACKSLOTS_PER_LINE) == 0) { + if (i != 0) + pr_cont("\n"); + printk("%s %08lx", log_lvl, *stack++); + } else + pr_cont(" %08lx", *stack++); touch_nmi_watchdog(); } pr_cont("\n"); |