]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf hist: In init, ensure mem_info is put on error paths
authorIan Rogers <irogers@google.com>
Sat, 22 Nov 2025 08:19:18 +0000 (00:19 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:55:14 +0000 (13:55 +0100)
[ Upstream commit f60efb4454b24cc944ff3eac164bb9dce9169f71 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/hist.c

index f387e85a008739d8203dbe122c500d3f0aa3187f..694faf405e11cf042587f512b99df336bd5c57ab 100644 (file)
@@ -528,10 +528,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);