diff options
| -rw-r--r-- | kernel/trace/trace_output.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 64596a571609..8dadbbbd2d5c 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c | |||
| @@ -389,17 +389,20 @@ seq_print_userip_objs(const struct userstack_entry *entry, struct trace_seq *s, | |||
| 389 | 389 | ||
| 390 | if (ip == ULONG_MAX || !ret) | 390 | if (ip == ULONG_MAX || !ret) |
| 391 | break; | 391 | break; |
| 392 | if (i && ret) | 392 | if (ret) |
| 393 | ret = trace_seq_puts(s, " <- "); | 393 | ret = trace_seq_puts(s, " => "); |
| 394 | if (!ip) { | 394 | if (!ip) { |
| 395 | if (ret) | 395 | if (ret) |
| 396 | ret = trace_seq_puts(s, "??"); | 396 | ret = trace_seq_puts(s, "??"); |
| 397 | if (ret) | ||
| 398 | ret = trace_seq_puts(s, "\n"); | ||
| 397 | continue; | 399 | continue; |
| 398 | } | 400 | } |
| 399 | if (!ret) | 401 | if (!ret) |
| 400 | break; | 402 | break; |
| 401 | if (ret) | 403 | if (ret) |
| 402 | ret = seq_print_user_ip(s, mm, ip, sym_flags); | 404 | ret = seq_print_user_ip(s, mm, ip, sym_flags); |
| 405 | ret = trace_seq_puts(s, "\n"); | ||
| 403 | } | 406 | } |
| 404 | 407 | ||
| 405 | if (mm) | 408 | if (mm) |
| @@ -1012,10 +1015,10 @@ static enum print_line_t trace_user_stack_print(struct trace_iterator *iter, | |||
| 1012 | 1015 | ||
| 1013 | trace_assign_type(field, iter->ent); | 1016 | trace_assign_type(field, iter->ent); |
| 1014 | 1017 | ||
| 1015 | if (!seq_print_userip_objs(field, s, flags)) | 1018 | if (!trace_seq_putc(s, '\n')) |
| 1016 | goto partial; | 1019 | goto partial; |
| 1017 | 1020 | ||
| 1018 | if (!trace_seq_putc(s, '\n')) | 1021 | if (!seq_print_userip_objs(field, s, flags)) |
| 1019 | goto partial; | 1022 | goto partial; |
| 1020 | 1023 | ||
| 1021 | return TRACE_TYPE_HANDLED; | 1024 | return TRACE_TYPE_HANDLED; |
