[PATCH] perf tools: Setup initial evlist::all_cpus value

From: Jiri Olsa
Date: Fri Jan 10 2020 - 10:15:50 EST


Jann Horn reported crash in perf ftrace because evlist::all_cpus
isn't initialized if there's evlist without events, which is the
case for perf ftrace.

Adding initial initialization of evlist::all_cpus from given cpus,
regardless of events in the evlist.

Reported-by: Jann Horn <jannh@xxxxxxxxxx>
Link: https://lkml.kernel.org/n/tip-kzioebqr5c3u4t7tafju8pbx@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/lib/perf/evlist.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/lib/perf/evlist.c b/tools/lib/perf/evlist.c
index ae9e65aa2491..5b9f2ca50591 100644
--- a/tools/lib/perf/evlist.c
+++ b/tools/lib/perf/evlist.c
@@ -164,6 +164,9 @@ void perf_evlist__set_maps(struct perf_evlist *evlist,
evlist->threads = perf_thread_map__get(threads);
}

+ if (!evlist->all_cpus && cpus)
+ evlist->all_cpus = perf_cpu_map__get(cpus);
+
perf_evlist__propagate_maps(evlist);
}

--
2.24.1