perf bench epoll: Fix missing frees/puts on the exit path
authorIan Rogers <irogers@google.com>
Sun, 11 Jun 2023 23:36:08 +0000 (16:36 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 12 Jun 2023 21:18:14 +0000 (18:18 -0300)
Issues detected by leak sanitizer.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: André Almeida <andrealmeid@igalia.com>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20230611233610.953456-3-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/bench/epoll-ctl.c
tools/perf/bench/epoll-wait.c

index 521d1ff..6bfffe8 100644 (file)
@@ -421,6 +421,11 @@ int bench_epoll_ctl(int argc, const char **argv)
        print_summary();
 
        close(epollfd);
+       perf_cpu_map__put(cpu);
+       for (i = 0; i < nthreads; i++)
+               free(worker[i].fdmap);
+
+       free(worker);
        return ret;
 errmem:
        err(EXIT_FAILURE, "calloc");
index c1cdf03..cb5174b 100644 (file)
@@ -549,6 +549,11 @@ int bench_epoll_wait(int argc, const char **argv)
        print_summary();
 
        close(epollfd);
+       perf_cpu_map__put(cpu);
+       for (i = 0; i < nthreads; i++)
+               free(worker[i].fdmap);
+
+       free(worker);
        return ret;
 errmem:
        err(EXIT_FAILURE, "calloc");