diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-11 10:16:05 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-11 10:16:05 -0800 |
commit | 4e4f74a7eebbc52eaa1dc3c0be6b3c68c0875b09 (patch) | |
tree | 18c2ea553d01596dcd309835d476ec745c9138db | |
parent | 21a7061c5ec300a8a12a0d6468eb7094e9c54a32 (diff) | |
parent | bfeda41d06d85ad9d52f2413cfc2b77be5022f75 (diff) | |
download | linux-4e4f74a7eebbc52eaa1dc3c0be6b3c68c0875b09.tar.gz linux-4e4f74a7eebbc52eaa1dc3c0be6b3c68c0875b09.tar.bz2 linux-4e4f74a7eebbc52eaa1dc3c0be6b3c68c0875b09.zip |
Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull lockdep fix from Ingo Molnar:
"This fixes an ugly lockdep stack trace output regression. (But also
affects other stacktrace users such as kmemleak, KASAN, etc)"
* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
stacktrace, lockdep: Fix address, newline ugliness
-rw-r--r-- | kernel/stacktrace.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/kernel/stacktrace.c b/kernel/stacktrace.c index b6e4c16377c7..9c15a9124e83 100644 --- a/kernel/stacktrace.c +++ b/kernel/stacktrace.c @@ -18,10 +18,8 @@ void print_stack_trace(struct stack_trace *trace, int spaces) if (WARN_ON(!trace->entries)) return; - for (i = 0; i < trace->nr_entries; i++) { - printk("%*c", 1 + spaces, ' '); - print_ip_sym(trace->entries[i]); - } + for (i = 0; i < trace->nr_entries; i++) + printk("%*c%pS\n", 1 + spaces, ' ', (void *)trace->entries[i]); } EXPORT_SYMBOL_GPL(print_stack_trace); @@ -29,7 +27,6 @@ int snprint_stack_trace(char *buf, size_t size, struct stack_trace *trace, int spaces) { int i; - unsigned long ip; int generated; int total = 0; @@ -37,9 +34,8 @@ int snprint_stack_trace(char *buf, size_t size, return 0; for (i = 0; i < trace->nr_entries; i++) { - ip = trace->entries[i]; - generated = snprintf(buf, size, "%*c[<%p>] %pS\n", - 1 + spaces, ' ', (void *) ip, (void *) ip); + generated = snprintf(buf, size, "%*c%pS\n", 1 + spaces, ' ', + (void *)trace->entries[i]); total += generated; |