Re: [Patch -tip 1/3] Tracing/ftrace: Relay unhandled entry output

From: Ingo Molnar
Date: Thu Sep 25 2008 - 08:38:30 EST



* Frédéric Weisbecker <fweisbec@xxxxxxxxx> wrote:

> Hi!
>
> I tried to figure out the origin of the bug reported by Pekka Paalanen
> about the broken pipe:
> http://kerneltrap.org/mailarchive/linux-kernel/2008/9/15/3305224
>
> When I add a trace_mark with the boot tracer, I had this same problem
> but this time it was easy to reproduce.
>
> When it calls a tracer's print_line callback, the print_trace_line function
> in trace.c returns whithout verifying if it could handle the entry properly.
> And actually the seq could be empty.
>
> For example the boot_tracer don't handle TRACE_PRINT. Nevertheless it
> wants them to be printed as a default way.
>
> So print_trace_line function should relay on the other functions which could handle
> an output if one of them fail.
>
> Reported-by: Pekka Paalanen <pq@xxxxxx>
> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>

ah, nice! Applied to tip/tracing/ftrace.

Small nit: could you please send another patch on top of this patch that
cleans up the checkpatch failures below?

checkpatch usage: you can run it like this:

scripts/checkpatch.pl --file kernel/trace/*.c

and/or you can run it over patches as well before you submit them.

Ingo

------------->
ERROR: do not use assignment in if condition
#43: FILE: kernel/trace/trace.c:1910:
+ if ((ret = iter->trace->print_line(iter)))

ERROR: do not use assignment in if condition
#48: FILE: kernel/trace/trace.c:1914:
+ if ((ret = print_bin_fmt(iter)))

ERROR: do not use assignment in if condition
#53: FILE: kernel/trace/trace.c:1918:
+ if ((ret = print_hex_fmt(iter)))

ERROR: do not use assignment in if condition
#58: FILE: kernel/trace/trace.c:1922:
+ if ((ret = print_raw_fmt(iter)))

ERROR: do not use assignment in if condition
#63: FILE: kernel/trace/trace.c:1926:
+ if ((ret = print_lat_fmt(iter, iter->idx, iter->cpu)))

total: 5 errors, 0 warnings, 0 checks, 32 lines checked

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/