diff options
| author | Ian Rogers <irogers@google.com> | 2025-11-22 00:19:18 -0800 |
|---|---|---|
| committer | Namhyung Kim <namhyung@kernel.org> | 2025-12-03 11:07:40 -0800 |
| commit | f60efb4454b24cc944ff3eac164bb9dce9169f71 (patch) | |
| tree | dbc31d40f04fd9e6b7cadf5d5e659b8fcf415cb2 | |
| parent | dc4d16543e60c22cd342135f321e99f2ecad3d54 (diff) | |
| download | tip-f60efb4454b24cc944ff3eac164bb9dce9169f71.tar.gz | |
perf hist: In init, ensure mem_info is put on error paths
Rather than exit the internal map_symbols directly, put the mem-info
that does this and also lowers the reference count on the mem-info
itself otherwise the mem-info is being leaked.
Fixes: 56e144fe98260a0f ("perf mem_info: Add and use map_symbol__exit and addr_map_symbol__exit")
Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
| -rw-r--r-- | tools/perf/util/hist.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 64ff427040c341..ef4b569f7df463 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c @@ -608,10 +608,8 @@ err_infos: map_symbol__exit(&he->branch_info->to.ms); zfree(&he->branch_info); } - if (he->mem_info) { - map_symbol__exit(&mem_info__iaddr(he->mem_info)->ms); - map_symbol__exit(&mem_info__daddr(he->mem_info)->ms); - } + if (he->mem_info) + mem_info__zput(he->mem_info); err: map_symbol__exit(&he->ms); zfree(&he->stat_acc); |
