lkml.org 
[lkml]   [2019]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 27/37] perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test
    Date
    From: Changbin Du <changbin.du@gmail.com>

    [ 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)
    #1 0x5625e5326213 in cpu_map__trim_new util/cpumap.c:45
    #2 0x5625e5326703 in cpu_map__read util/cpumap.c:103
    #3 0x5625e53267ef in cpu_map__read_all_cpu_map util/cpumap.c:120
    #4 0x5625e5326915 in cpu_map__new util/cpumap.c:135
    #5 0x5625e517b355 in test__openat_syscall_event_on_all_cpus tests/openat-syscall-all-cpus.c:36
    #6 0x5625e51528e6 in run_test tests/builtin-test.c:358
    #7 0x5625e5152baf in test_and_print tests/builtin-test.c:388
    #8 0x5625e51543fe in __cmd_test tests/builtin-test.c:583
    #9 0x5625e515572f in cmd_test tests/builtin-test.c:722
    #10 0x5625e51c3fb8 in run_builtin /home/changbin/work/linux/tools/perf/perf.c:302
    #11 0x5625e51c44f7 in handle_internal_command /home/changbin/work/linux/tools/perf/perf.c:354
    #12 0x5625e51c48fb in run_argv /home/changbin/work/linux/tools/perf/perf.c:398
    #13 0x5625e51c5069 in main /home/changbin/work/linux/tools/perf/perf.c:520
    #14 0x7f033214d09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)

    Signed-off-by: Changbin Du <changbin.du@gmail.com>
    Reviewed-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Fixes: f30a79b012e5 ("perf tools: Add reference counting for cpu_map object")
    Link: http://lkml.kernel.org/r/20190316080556.3075-15-changbin.du@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/perf/tests/openat-syscall-all-cpus.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/tools/perf/tests/openat-syscall-all-cpus.c b/tools/perf/tests/openat-syscall-all-cpus.c
    index c531e6deb104..493ecb611540 100644
    --- a/tools/perf/tests/openat-syscall-all-cpus.c
    +++ b/tools/perf/tests/openat-syscall-all-cpus.c
    @@ -45,7 +45,7 @@ int test__openat_syscall_event_on_all_cpus(struct test *test __maybe_unused, int
    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) {
    @@ -119,6 +119,8 @@ int test__openat_syscall_event_on_all_cpus(struct test *test __maybe_unused, int
    perf_evsel__close_fd(evsel);
    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;
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-03-30 02:03    [W:4.181 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site