aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/trace/trace_output.c11
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;