aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-02-11 13:16:05 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-11 13:16:05 -0500
commit4e4f74a7eebbc52eaa1dc3c0be6b3c68c0875b09 (patch)
tree18c2ea553d01596dcd309835d476ec745c9138db
parent21a7061c5ec300a8a12a0d6468eb7094e9c54a32 (diff)
parentbfeda41d06d85ad9d52f2413cfc2b77be5022f75 (diff)
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.c12
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)
18 if (WARN_ON(!trace->entries)) 18 if (WARN_ON(!trace->entries))
19 return; 19 return;
20 20
21 for (i = 0; i < trace->nr_entries; i++) { 21 for (i = 0; i < trace->nr_entries; i++)
22 printk("%*c", 1 + spaces, ' '); 22 printk("%*c%pS\n", 1 + spaces, ' ', (void *)trace->entries[i]);
23 print_ip_sym(trace->entries[i]);
24 }
25} 23}
26EXPORT_SYMBOL_GPL(print_stack_trace); 24EXPORT_SYMBOL_GPL(print_stack_trace);
27 25
@@ -29,7 +27,6 @@ int snprint_stack_trace(char *buf, size_t size,
29 struct stack_trace *trace, int spaces) 27 struct stack_trace *trace, int spaces)
30{ 28{
31 int i; 29 int i;
32 unsigned long ip;
33 int generated; 30 int generated;
34 int total = 0; 31 int total = 0;
35 32
@@ -37,9 +34,8 @@ int snprint_stack_trace(char *buf, size_t size,
37 return 0; 34 return 0;
38 35
39 for (i = 0; i < trace->nr_entries; i++) { 36 for (i = 0; i < trace->nr_entries; i++) {
40 ip = trace->entries[i]; 37 generated = snprintf(buf, size, "%*c%pS\n", 1 + spaces, ' ',
41 generated = snprintf(buf, size, "%*c[<%p>] %pS\n", 38 (void *)trace->entries[i]);
42 1 + spaces, ' ', (void *) ip, (void *) ip);
43 39
44 total += generated; 40 total += generated;
45 41