Re: [PATCH] perf tools: Don't set leader if parser doesn't collect an evsel

From: Wangnan (F)
Date: Wed Sep 02 2015 - 02:09:44 EST

On 2015/9/2 13:57, åæéå / HIRAMATUïMASAMI wrote:
From: Wang Nan [mailto:wangnan0@xxxxxxxxxx]

Similar to patch 'perf tools: Don't set cmdline_group_boundary if no
evsel is collected', in case when parser collects no evsel (at this
point it shouldn't happen), parse_events__set_leader() is not safe.

This patch checks list_empty becore calling __perf_evlist__set_leader()
for safty reason.

Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Masami Hiramatsu <>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Zefan Li <lizefan@xxxxxxxxxx>
Cc: pi3orama@xxxxxxx

I'd like to queue this patch into my next pull request. Since it is not
a real bug, it may be dropped.

tools/perf/util/parse-events.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index f2c0317..836d226 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -793,6 +793,9 @@ void parse_events__set_leader(char *name, struct list_head *list)
struct perf_evsel *leader;

+ if (list_empty(list))
Would we need to warn/debug something here?

OK, let's add a WARN message here and other 2 places.

Thank you.

Thank you,

+ return;
leader = list_entry(list->next, struct perf_evsel, node);
leader->group_name = name ? strdup(name) : NULL;

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at