Re: [PATCH v1 06/17] perf hist: In init, ensure mem_info is put on error paths
From: Arnaldo Carvalho de Melo
Date: Mon Dec 01 2025 - 12:05:45 EST
On Sat, Nov 22, 2025 at 12:19:18AM -0800, Ian Rogers wrote:
> 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.
Reviewed-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
- Arnaldo
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
> tools/perf/util/hist.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 64ff427040c3..ef4b569f7df4 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -608,10 +608,8 @@ static int hist_entry__init(struct hist_entry *he,
> 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);
> --
> 2.52.0.rc2.455.g230fcf2819-goog
>