Skip to content

Commit

Permalink
perf tests: Fix a memory leak of cpu_map object in the openat_syscall…
Browse files Browse the repository at this point in the history
…_event_on_all_cpus test

[ Upstream commit 93faa52e8371f0291ee1ff4994edae2b336b6233 ]

  =================================================================
  ==7497==ERROR: LeakSanitizer: detected memory leaks

  Direct leak of 40 byte(s) in 1 object(s) allocated from:
      #0 0x7f0333a88f30 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xedf30)
      DD3Boh#1 0x5625e5326213 in cpu_map__trim_new util/cpumap.c:45
      DD3Boh#2 0x5625e5326703 in cpu_map__read util/cpumap.c:103
      DD3Boh#3 0x5625e53267ef in cpu_map__read_all_cpu_map util/cpumap.c:120
      DD3Boh#4 0x5625e5326915 in cpu_map__new util/cpumap.c:135
      DD3Boh#5 0x5625e517b355 in test__openat_syscall_event_on_all_cpus tests/openat-syscall-all-cpus.c:36
      DD3Boh#6 0x5625e51528e6 in run_test tests/builtin-test.c:358
      DD3Boh#7 0x5625e5152baf in test_and_print tests/builtin-test.c:388
      DD3Boh#8 0x5625e51543fe in __cmd_test tests/builtin-test.c:583
      DD3Boh#9 0x5625e515572f in cmd_test tests/builtin-test.c:722
      DD3Boh#10 0x5625e51c3fb8 in run_builtin /home/changbin/work/linux/tools/perf/perf.c:302
      DD3Boh#11 0x5625e51c44f7 in handle_internal_command /home/changbin/work/linux/tools/perf/perf.c:354
      DD3Boh#12 0x5625e51c48fb in run_argv /home/changbin/work/linux/tools/perf/perf.c:398
      DD3Boh#13 0x5625e51c5069 in main /home/changbin/work/linux/tools/perf/perf.c:520
      DD3Boh#14 0x7f033214d09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)

Signed-off-by: Changbin Du <[email protected]>
Reviewed-by: Jiri Olsa <[email protected]>
Cc: Alexei Starovoitov <[email protected]>
Cc: Daniel Borkmann <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Steven Rostedt (VMware) <[email protected]>
Fixes: f30a79b ("perf tools: Add reference counting for cpu_map object")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
  • Loading branch information
changbindu authored and gregkh committed Apr 27, 2019
1 parent 8b89e3c commit 98977a8
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion tools/perf/tests/openat-syscall-all-cpus.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ int test__openat_syscall_event_on_all_cpus(void)
if (IS_ERR(evsel)) {
tracing_path__strerror_open_tp(errno, errbuf, sizeof(errbuf), "syscalls", "sys_enter_openat");
pr_debug("%s\n", errbuf);
goto out_thread_map_delete;
goto out_cpu_map_delete;
}

if (perf_evsel__open(evsel, cpus, threads) < 0) {
Expand Down Expand Up @@ -109,6 +109,8 @@ int test__openat_syscall_event_on_all_cpus(void)
perf_evsel__close_fd(evsel, 1, threads->nr);
out_evsel_delete:
perf_evsel__delete(evsel);
out_cpu_map_delete:
cpu_map__put(cpus);
out_thread_map_delete:
thread_map__put(threads);
return err;
Expand Down

0 comments on commit 98977a8

Please sign in to comment.