]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
perf evlist: Add success path to evlist__create_syswide_maps
authorIan Rogers <irogers@google.com>
Fri, 28 Feb 2025 22:22:59 +0000 (14:22 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 12 Mar 2025 01:55:37 +0000 (18:55 -0700)
Over various refactorings evlist__create_syswide_maps has been made to
only ever return with -ENOMEM. Fix this so that when
perf_evlist__set_maps is successfully called, 0 is returned.

Reviewed-by: Howard Chu <howardchu95@gmail.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/20250228222308.626803-3-irogers@google.com
Fixes: 8c0498b6891d7ca5 ("perf evlist: Fix create_syswide_maps() not propagating maps")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/evlist.c

index 43adf6b3d855771a6f2887f9a2ee28e64a5dae79..49e10d6981add4e3af6332a41f85cb643510e449 100644 (file)
@@ -1373,19 +1373,18 @@ static int evlist__create_syswide_maps(struct evlist *evlist)
         */
        cpus = perf_cpu_map__new_online_cpus();
        if (!cpus)
-               goto out;
+               return -ENOMEM;
 
        threads = perf_thread_map__new_dummy();
-       if (!threads)
-               goto out_put;
+       if (!threads) {
+               perf_cpu_map__put(cpus);
+               return -ENOMEM;
+       }
 
        perf_evlist__set_maps(&evlist->core, cpus, threads);
-
        perf_thread_map__put(threads);
-out_put:
        perf_cpu_map__put(cpus);
-out:
-       return -ENOMEM;
+       return 0;
 }
 
 int evlist__open(struct evlist *evlist)