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

From: Andi Kleen
Date: Fri Jan 10 2020 - 12:31:09 EST


On Fri, Jan 10, 2020 at 04:15:37PM +0100, Jiri Olsa wrote:
> 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.

Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>

>
> 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
>