From: Omar Sandoval <osandov@osandov.com>
To: linux-kernel@vger.kernel.org
Cc: kernel-team@fb.com, Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: [PATCH] stacktrace: fix spaces and annoying extra newlines
Date: Tue, 7 Feb 2017 14:44:26 -0800 [thread overview]
Message-ID: <dca35617de3bf0665fa183df9233e8d8322c708b.1486507234.git.osandov@fb.com> (raw)
From: Omar Sandoval <osandov@fb.com>
Since KERN_CONT became meaningful again, lockdep stack traces have
looked like this:
[ 5.561122] -> #1 (B){+.+...}:
[ 5.561528]
[ 5.561532] [<ffffffff810d8873>] lock_acquire+0xc3/0x210
[ 5.562178]
[ 5.562181] [<ffffffff816f6414>] mutex_lock_nested+0x74/0x6d0
[ 5.562861]
[ 5.562880] [<ffffffffa01aa3c3>] init_btrfs_fs+0x21/0x196 [btrfs]
[ 5.563717]
[ 5.563721] [<ffffffff81000472>] do_one_initcall+0x52/0x1b0
[ 5.564554]
[ 5.564559] [<ffffffff811a3af6>] do_init_module+0x5f/0x209
[ 5.565357]
[ 5.565361] [<ffffffff81122f4d>] load_module+0x218d/0x2b80
[ 5.566020]
[ 5.566021] [<ffffffff81123beb>] SyS_finit_module+0xeb/0x120
[ 5.566694]
[ 5.566696] [<ffffffff816fd241>] entry_SYSCALL_64_fastpath+0x1f/0xc2
That's happening because each printk() call now gets printed on its own
line, and we do a separate call to print the spaces before the symbol.
This is what it should look like:
[ 6.650322] -> #1 (B){+.+...}:
[ 6.651053] [<ffffffff810d8873>] lock_acquire+0xc3/0x210
[ 6.652000] [<ffffffff816f6414>] mutex_lock_nested+0x74/0x6d0
[ 6.652664] [<ffffffffa01b43c3>] init_btrfs_fs+0x21/0x196 [btrfs]
[ 6.653288] [<ffffffff81000472>] do_one_initcall+0x52/0x1b0
[ 6.653858] [<ffffffff811a3ae6>] do_init_module+0x5f/0x209
[ 6.654426] [<ffffffff81122f3d>] load_module+0x218d/0x2b80
[ 6.654992] [<ffffffff81123bdb>] SyS_finit_module+0xeb/0x120
[ 6.655591] [<ffffffff816fd241>] entry_SYSCALL_64_fastpath+0x1f/0xc2
Fix it by doing the printk() directly instead of using the
print_ip_sym() helper.
Fixes: 4bcc595ccd80 ("printk: reinstate KERN_CONT for printing continuation lines")
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Omar Sandoval <osandov@fb.com>
---
Patch is based on v4.10-rc7. That print_ip_sym() helper isn't all that
complicated and it probably causes more problems than it solves with
KERN_CONT and all. I'm not entirely sure who should take this, but it's
somewhat lockdep related, so it can probably go through tip for 4.11?
kernel/stacktrace.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/stacktrace.c b/kernel/stacktrace.c
index b6e4c16377c7..625573af2a3c 100644
--- a/kernel/stacktrace.c
+++ b/kernel/stacktrace.c
@@ -14,13 +14,14 @@
void print_stack_trace(struct stack_trace *trace, int spaces)
{
int i;
+ void *ip;
if (WARN_ON(!trace->entries))
return;
for (i = 0; i < trace->nr_entries; i++) {
- printk("%*c", 1 + spaces, ' ');
- print_ip_sym(trace->entries[i]);
+ ip = (void *)trace->entries[i];
+ printk("%*c[<%p>] %pS\n", 1 + spaces, ' ', ip, ip);
}
}
EXPORT_SYMBOL_GPL(print_stack_trace);
--
2.11.1
next reply other threads:[~2017-02-07 22:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-07 22:44 Omar Sandoval [this message]
2017-02-07 23:23 ` Linus Torvalds
2017-02-07 23:33 ` [PATCH v2] stacktrace: fix address, newline ugliness Omar Sandoval
2017-02-08 7:25 ` [tip:locking/urgent] stacktrace, lockdep: Fix " tip-bot for Omar Sandoval
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dca35617de3bf0665fa183df9233e8d8322c708b.1486507234.git.osandov@fb.com \
--to=osandov@osandov.com \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®