diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-19 21:18:46 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-19 21:18:46 +0200 |
commit | 41ba485ef1d0dca98c5b194b8fb19201e123a08d (patch) | |
tree | 93ce1d469c10db1662e3da3e7dd92c892ed1f390 /kernel | |
parent | Merge tag 'csky-for-linus-5.3-rc1' of git://github.com/c-sky/csky-linux (diff) | |
parent | tracing: Fix user stack trace "??" output (diff) | |
download | linux-41ba485ef1d0dca98c5b194b8fb19201e123a08d.tar.xz linux-41ba485ef1d0dca98c5b194b8fb19201e123a08d.zip |
Merge tag 'trace-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing fix from Steven Rostedt:
"Eiichi Tsukata found a small bug from the fixup of the stack code
Removing ULONG_MAX as the marker for the user stack trace end, made
the tracing code not know where the end is. The end is now marked with
a zero (NULL) pointer. Eiichi fixed this in the tracing code"
* tag 'trace-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Fix user stack trace "??" output
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace_output.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index ba751f993c3b..cab4a5398f1d 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -1109,17 +1109,10 @@ static enum print_line_t trace_user_stack_print(struct trace_iterator *iter, for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { unsigned long ip = field->caller[i]; - if (ip == ULONG_MAX || trace_seq_has_overflowed(s)) + if (!ip || trace_seq_has_overflowed(s)) break; trace_seq_puts(s, " => "); - - if (!ip) { - trace_seq_puts(s, "??"); - trace_seq_putc(s, '\n'); - continue; - } - seq_print_user_ip(s, mm, ip, flags); trace_seq_putc(s, '\n'); } |