]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf c2c: Free format list entries when releasing c2c hist entries
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 11 Jun 2026 00:23:35 +0000 (21:23 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 17 Jun 2026 11:29:03 +0000 (08:29 -0300)
c2c_hists__init() calls hpp_list__parse() which allocates and registers
format entries on hists->list.  When c2c_he_free() destroys a c2c hist
entry, it deletes the histogram entries and frees the hists container but
never unregisters the format list entries, leaking them.

Call perf_hpp__reset_output_field() before freeing the hists to properly
unregister and free all format entries.

Fixes: f485e33c4543ac31 ("perf c2c report: Add cacheline hists processing")
Reported-by: sashiko-bot <sashiko-bot@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-c2c.c

index e205f58b2f3d3786076d0e5bee7cd32fcfd9febc..07c7e8fb315e6cf31b935c299ec1452d658d43dc 100644 (file)
@@ -185,6 +185,7 @@ static void c2c_he_free(void *he)
        c2c_he = container_of(he, struct c2c_hist_entry, he);
        if (c2c_he->hists) {
                hists__delete_entries(&c2c_he->hists->hists);
+               perf_hpp__reset_output_field(&c2c_he->hists->list);
                zfree(&c2c_he->hists);
        }