mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 10:01:43 +00:00
perf stat: Fail on extra comma while parsing events
Ian reported that we allow to parse following: $ perf stat -e ,cycles true which is wrong and we should fail, like we do with this fix: $ perf stat -e ,cycles true event syntax error: ',cycles' \___ parser error The reason is that we don't have rule for ',' in 'event' start condition and it's matched and accepted by default rule. Add scanner debug support (that Ian already added for expr code), which was really useful for finding this. It's enabled together with bison debug via 'make PARSER_DEBUG=1'. Reported-by: Ian Rogers <irogers@google.com> Signed-off-by: Jiri Olsa <jolsa@kernel.org> Acked-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20200520074050.156988-1-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
498ef715a0
commit
ae7626418d
@ -2041,6 +2041,7 @@ static int parse_events__scanner(const char *str, void *parse_state, int start_t
|
||||
|
||||
#ifdef PARSER_DEBUG
|
||||
parse_events_debug = 1;
|
||||
parse_events_set_debug(1, scanner);
|
||||
#endif
|
||||
ret = parse_events_parse(parse_state, scanner);
|
||||
|
||||
|
@ -252,7 +252,9 @@ modifier_bp [rwx]{1,3}
|
||||
BEGIN(INITIAL);
|
||||
REWIND(0);
|
||||
}
|
||||
|
||||
, {
|
||||
return ',';
|
||||
}
|
||||
}
|
||||
|
||||
<array>{
|
||||
|
Loading…
Reference in New Issue
Block a user