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. -----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCXTHsuRQccm9zdGVkdEBn b29kbWlzLm9yZwAKCRAp5XQQmuv6qgETAQDqRtu1KhJM6ujNlPY1aw6e9ncDAqWn 6GaumMgAdBqEcAEAxJSjr5UlzXuJsCjUjwE0txLfTscyNwljKW77h4/WNwA= =bwtH -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
41ba485ef1
@ -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++) {
|
for (i = 0; i < FTRACE_STACK_ENTRIES; i++) {
|
||||||
unsigned long ip = field->caller[i];
|
unsigned long ip = field->caller[i];
|
||||||
|
|
||||||
if (ip == ULONG_MAX || trace_seq_has_overflowed(s))
|
if (!ip || trace_seq_has_overflowed(s))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
trace_seq_puts(s, " => ");
|
trace_seq_puts(s, " => ");
|
||||||
|
|
||||||
if (!ip) {
|
|
||||||
trace_seq_puts(s, "??");
|
|
||||||
trace_seq_putc(s, '\n');
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
seq_print_user_ip(s, mm, ip, flags);
|
seq_print_user_ip(s, mm, ip, flags);
|
||||||
trace_seq_putc(s, '\n');
|
trace_seq_putc(s, '\n');
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user