summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_branch.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2009-02-03 20:20:41 -0200
committerIngo Molnar <mingo@elte.hu>2009-02-04 20:48:30 +0100
commitd9793bd8018f835c64b10f44e278c86cecb8e932 (patch)
treeda5ad9bc8f3fc7b4eb4ecd398f7c52a6f112d544 /kernel/trace/trace_branch.c
parentce70a0b472e06feae3a580ecb3fbef1e1e020a9b (diff)
downloadlinux-d9793bd8018f835c64b10f44e278c86cecb8e932.tar.bz2
trace: judicious error checking of trace_seq results
Impact: bugfix and cleanup Some callsites were returning either TRACE_ITER_PARTIAL_LINE if the trace_seq routines (trace_seq_printf, etc) returned 0 meaning its buffer was full, or zero otherwise. But... /* Return values for print_line callback */ enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, /* Retry after flushing the seq */ TRACE_TYPE_HANDLED = 1, TRACE_TYPE_UNHANDLED = 2 /* Relay to other output functions */ }; In other cases the return value was not being relayed at all. Most of the time it didn't hurt because the page wasn't get filled, but for correctness sake, handle the return values everywhere. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_branch.c')
-rw-r--r--kernel/trace/trace_branch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index ea62f101e615..f6b35e162dfa 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -173,7 +173,7 @@ static int trace_branch_print(struct trace_iterator *iter, int flags)
field->line))
return TRACE_TYPE_PARTIAL_LINE;
- return 0;
+ return TRACE_TYPE_HANDLED;
}