[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260122165407.561888-2-irogers@google.com>
Date: Thu, 22 Jan 2026 08:53:56 -0800
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...nel.org>,
Ian Rogers <irogers@...gle.com>, Adrian Hunter <adrian.hunter@...el.com>,
James Clark <james.clark@...aro.org>, John Garry <john.g.garry@...cle.com>,
Will Deacon <will@...nel.org>, Leo Yan <leo.yan@...ux.dev>, Guo Ren <guoren@...nel.org>,
Paul Walmsley <pjw@...nel.org>, Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>, Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>, Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>, Zecheng Li <zecheng@...gle.com>,
Tianyou Li <tianyou.li@...el.com>, Thomas Falcon <thomas.falcon@...el.com>,
Julia Lawall <Julia.Lawall@...ia.fr>, Suchit Karunakaran <suchitkarunakaran@...il.com>,
Athira Rajeev <atrajeev@...ux.ibm.com>, Aditya Bodkhe <aditya.b1@...ux.ibm.com>,
Howard Chu <howardchu95@...il.com>,
"Krzysztof Ćopatowski" <krzysztof.m.lopatowski@...il.com>,
"Dr. David Alan Gilbert" <linux@...blig.org>, Shimin Guo <shimin.guo@...dio.com>,
Sergei Trofimovich <slyich@...il.com>, linux-kernel@...r.kernel.org,
linux-perf-users@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-csky@...r.kernel.org, linux-riscv@...ts.infradead.org
Subject: [PATCH v2 01/12] perf header: Fix memory leaks in process_cpu_domain_info
do_read_string returns a string in allocated memory, for some reason
there was unused memory allocations and unnecessary strdups. Remove
these and make the "perf annotate basic tests" leak sanitizer clean.
Signed-off-by: Ian Rogers <irogers@...gle.com>
Fixes: d40c68a49f69 ("perf header: Support CPU DOMAIN relation info")
---
tools/perf/util/header.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 9a15dd4b7640..eefd1cd73b6a 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -3634,6 +3634,7 @@ static int process_cpu_domain_info(struct feat_fd *ff, void *data __maybe_unused
if (!d_info)
return -1;
+ assert(cd_map[cpu]->domains[domain] == NULL);
cd_map[cpu]->domains[domain] = d_info;
d_info->domain = domain;
@@ -3642,30 +3643,20 @@ static int process_cpu_domain_info(struct feat_fd *ff, void *data __maybe_unused
if (!dname)
return -1;
- d_info->dname = zalloc(strlen(dname) + 1);
- if (!d_info->dname)
- return -1;
-
- d_info->dname = strdup(dname);
+ d_info->dname = dname;
}
cpumask = do_read_string(ff);
if (!cpumask)
return -1;
- d_info->cpumask = zalloc(strlen(cpumask) + 1);
- if (!d_info->cpumask)
- return -1;
- d_info->cpumask = strdup(cpumask);
+ d_info->cpumask = cpumask;
cpulist = do_read_string(ff);
if (!cpulist)
return -1;
- d_info->cpulist = zalloc(strlen(cpulist) + 1);
- if (!d_info->cpulist)
- return -1;
- d_info->cpulist = strdup(cpulist);
+ d_info->cpulist = cpulist;
}
}
--
2.52.0.457.g6b5491de43-goog
Powered by blists - more mailing lists