• Namhyung Kim's avatar
    perf test: Fix cpu and thread map leaks in switch_tracking test · 953e7b59
    Namhyung Kim authored
    The evlist and cpu/thread maps should be released together.
    Otherwise the following error was reported by Asan.
    
      $ perf test -v 35
      35: Track with sched_switch                    :
      --- start ---
      test child forked, pid 159287
      Using CPUID GenuineIntel-6-8E-C
      mmap size 528384B
      1295 events recorded
    
      =================================================================
      ==159287==ERROR: LeakSanitizer: detected memory leaks
    
      Direct leak of 40 byte(s) in 1 object(s) allocated from:
        #0 0x7fa28d9a2e8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
        #1 0x5652f5a5affa in cpu_map__trim_new /home/namhyung/project/linux/tools/lib/perf/cpumap.c:79
        #2 0x5652f5a5ba1f in perf_cpu_map__read /home/namhyung/project/linux/tools/lib/perf/cpumap.c:149
        #3 0x5652f5a5c1df in cpu_map__read_all_cpu_map /home/namhyung/project/linux/tools/lib/perf/cpumap.c:166
        #4 0x5652f5a5c1df in perf_cpu_map__new /home/namhyung/project/linux/tools/lib/perf/cpumap.c:181
        #5 0x5652f5723bbf in test__switch_tracking tests/switch-tracking.c:350
        #6 0x5652f56e18fb in run_test tests/builtin-test.c:428
        #7 0x5652f56e18fb in test_and_print tests/builtin-test.c:458
        #8 0x5652f56e3a53 in __cmd_test tests/builtin-test.c:679
        #9 0x5652f56e3a53 in cmd_test tests/builtin-test.c:825
        #10 0x5652f574fcc4 in run_builtin /home/namhyung/project/linux/tools/perf/perf.c:313
        #11 0x5652f55d9a88 in handle_internal_command /home/namhyung/project/linux/tools/perf/perf.c:365
        #12 0x5652f55d9a88 in run_argv /home/namhyung/project/linux/tools/perf/perf.c:409
        #13 0x5652f55d9a88 in main /home/namhyung/project/linux/tools/perf/perf.c:539
        #14 0x7fa28d4d8d09 in __libc_start_main ../csu/libc-start.c:308
    
      SUMMARY: AddressSanitizer: 72 byte(s) leaked in 2 allocation(s).
      test child finished with 1
      ---- end ----
      Track with sched_switch: FAILED!
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: https://lore.kernel.org/r/20210301140409.184570-8-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    953e7b59
switch-tracking.c 13 KB