summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-11-04 16:32:25 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 08:52:49 -0800
commit248f3235861683bb1ffc7316b56bf783b162666f (patch)
treeef02fd0642d086dde419024ba263b7c3af15a594
parentd80dee54533aa4bfe29def921edb31715fdba214 (diff)
downloadlwn-248f3235861683bb1ffc7316b56bf783b162666f.tar.gz
lwn-248f3235861683bb1ffc7316b56bf783b162666f.zip
perf: Fix parsing of __print_flags() in TP_printk()
commit d06c27b22aa66e48e32f03f9387328a9af9b0625 upstream. A update is made to the sched:sched_switch event that adds some logic to the first parameter of the __print_flags() that shows the state of tasks. This change cause perf to fail parsing the flags. A simple fix is needed to have the parser be able to process ops within the argument. Reported-by: Andrew Vagin <avagin@openvz.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--tools/perf/util/trace-event-parse.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
index 0a7ed5b5e281..6c164dc9ee95 100644
--- a/tools/perf/util/trace-event-parse.c
+++ b/tools/perf/util/trace-event-parse.c
@@ -1537,6 +1537,8 @@ process_flags(struct event *event, struct print_arg *arg, char **tok)
field = malloc_or_die(sizeof(*field));
type = process_arg(event, field, &token);
+ while (type == EVENT_OP)
+ type = process_op(event, field, &token);
if (test_type_token(type, token, EVENT_DELIM, ","))
goto out_free;