Merge tag 'trace-v5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Jul 2019 19:18:46 +0000 (12:18 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Jul 2019 19:18:46 +0000 (12:18 -0700)
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

kernel/trace/trace_output.c

index ba751f993c3b6d7aab1e417cf3deccb3f54473f0..cab4a5398f1d4a746470f6ec4a88bc2da13860f7 100644 (file)
@@ -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');
        }