path: root/tools
diff options
authorSteven Rostedt <>2011-11-04 16:32:25 -0400
committerGreg Kroah-Hartman <>2012-01-12 11:33:16 -0800
commitd1b183969346d8920934dfa9f68354933d5601ba (patch)
tree33f4b2cbfc57388e80763f36fd60c7fa881594c3 /tools
parentbb51fd2a90ae586c96df8472d9b3f8504456ee6b (diff)
perf: Fix parsing of __print_flags() in TP_printk()
commit 49908a1b25d448d68fd26faca260e1850201575f 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 <> Signed-off-by: Steven Rostedt <> Signed-off-by: Greg Kroah-Hartman <>
Diffstat (limited to 'tools')
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 6c164dc9ee95..bf54c48871dc 100644
--- a/tools/perf/util/trace-event-parse.c
+++ b/tools/perf/util/trace-event-parse.c
@@ -1582,6 +1582,8 @@ process_symbols(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;