tracing: Don't use p->len field to determine output in __print_*() functions
authorSteven Rostedt <srostedt@redhat.com>
Tue, 21 Feb 2012 01:37:32 +0000 (20:37 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 21 Feb 2012 16:08:13 +0000 (11:08 -0500)
commit5b34926114e39e12005031269613d2b13194aeba
tree40c0fd479d6e048ceec060d05e141de0a941b7b5
parente404b321dbb2d6e438522b7dce9c1d0c6a8c5275
tracing: Don't use p->len field to determine output in __print_*() functions

If more than one __print_*() function is used in a tracepoint
(__print_flags(), __print_symbols(), etc), then the temp seq buffer will
not be zero on entry. Using the temp seq buffer's length to know if
data has been printed or not in the current function is incorrect and
may produce incorrect results.

Currently, no in-tree tracepoint causes this bug, but new ones may
be created.

Cc: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_output.c