Skip to content

Commit 99d4850

Browse files
captain5050acmel
authored andcommitted
perf tool x86: Fix perf_env memory leak
Found by leak sanitizer: ``` ==1632594==ERROR: LeakSanitizer: detected memory leaks Direct leak of 21 byte(s) in 1 object(s) allocated from: #0 0x7f2953a7077b in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:439 archlinux#1 0x556701d6fbbf in perf_env__read_cpuid util/env.c:369 archlinux#2 0x556701d70589 in perf_env__cpuid util/env.c:465 archlinux#3 0x55670204bba2 in x86__is_amd_cpu arch/x86/util/env.c:14 archlinux#4 0x5567020487a2 in arch__post_evsel_config arch/x86/util/evsel.c:83 archlinux#5 0x556701d8f78b in evsel__config util/evsel.c:1366 archlinux#6 0x556701ef5872 in evlist__config util/record.c:108 archlinux#7 0x556701cd6bcd in test__PERF_RECORD tests/perf-record.c:112 archlinux#8 0x556701cacd07 in run_test tests/builtin-test.c:236 archlinux#9 0x556701cacfac in test_and_print tests/builtin-test.c:265 torvalds#10 0x556701cadddb in __cmd_test tests/builtin-test.c:402 torvalds#11 0x556701caf2aa in cmd_test tests/builtin-test.c:559 torvalds#12 0x556701d3b557 in run_builtin tools/perf/perf.c:323 torvalds#13 0x556701d3bac8 in handle_internal_command tools/perf/perf.c:377 torvalds#14 0x556701d3be90 in run_argv tools/perf/perf.c:421 torvalds#15 0x556701d3c3f8 in main tools/perf/perf.c:537 torvalds#16 0x7f2952a46189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 SUMMARY: AddressSanitizer: 21 byte(s) leaked in 1 allocation(s). ``` Fixes: f7b58cb ("perf mem/c2c: Add load store event mappings for AMD") Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Ravi Bangoria <ravi.bangoria@amd.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> 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: Ravi Bangoria <ravi.bangoria@amd.com> Link: https://lore.kernel.org/r/20230613235416.1650755-1-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent 556fd66 commit 99d4850

File tree

1 file changed

+1
-1
lines changed
  • tools/perf/arch/x86/util

1 file changed

+1
-1
lines changed

tools/perf/arch/x86/util/env.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ bool x86__is_amd_cpu(void)
1313

1414
perf_env__cpuid(&env);
1515
is_amd = env.cpuid && strstarts(env.cpuid, "AuthenticAMD") ? 1 : -1;
16-
16+
perf_env__exit(&env);
1717
ret:
1818
return is_amd >= 1 ? true : false;
1919
}

0 commit comments

Comments
 (0)