[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230607014353.3172466-20-irogers@google.com>
Date: Tue, 6 Jun 2023 18:43:52 -0700
From: Ian Rogers <irogers@...gle.com>
To: John Garry <john.g.garry@...cle.com>,
Will Deacon <will@...nel.org>,
James Clark <james.clark@....com>,
Mike Leach <mike.leach@...aro.org>,
Leo Yan <leo.yan@...aro.org>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Suzuki K Poulose <suzuki.poulose@....com>,
"Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
Kan Liang <kan.liang@...ux.intel.com>,
German Gomez <german.gomez@....com>,
Ali Saidi <alisaidi@...zon.com>,
Jing Zhang <renyu.zj@...ux.alibaba.com>,
"Martin Liška" <mliska@...e.cz>,
Athira Rajeev <atrajeev@...ux.vnet.ibm.com>,
Miguel Ojeda <ojeda@...nel.org>,
ye xingchen <ye.xingchen@....com.cn>,
Liam Howlett <liam.howlett@...cle.com>,
Dmitrii Dolgov <9erthalion6@...il.com>,
"Shawn M. Chapla" <schapla@...eweavers.com>,
Yang Jihong <yangjihong1@...wei.com>,
K Prateek Nayak <kprateek.nayak@....com>,
Changbin Du <changbin.du@...wei.com>,
Ravi Bangoria <ravi.bangoria@....com>,
Sean Christopherson <seanjc@...gle.com>,
Raul Silvera <rsilvera@...gle.com>,
Andi Kleen <ak@...ux.intel.com>,
"Steinar H. Gunderson" <sesse@...gle.com>,
Yuan Can <yuancan@...wei.com>,
Brian Robbins <brianrob@...ux.microsoft.com>,
liuwenyu <liuwenyu7@...wei.com>,
Ivan Babrou <ivan@...udflare.com>,
Fangrui Song <maskray@...gle.com>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-perf-users@...r.kernel.org, coresight@...ts.linaro.org
Subject: [PATCH v1 19/20] perf machine: Don't leak module maps
machine__addnew_module_map requires a put on its result. Add this and
narrow the scope of map to make the correctness more obvious. This
leak was caught with leak sanitizer and the reference count checker.
Signed-off-by: Ian Rogers <irogers@...gle.com>
---
tools/perf/util/machine.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index f8e6c07f0048..359ef6b4e840 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1797,7 +1797,6 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
struct extra_kernel_map *xm,
struct build_id *bid)
{
- struct map *map;
enum dso_space_type dso_space;
bool is_kernel_mmap;
const char *mmap_name = machine->mmap_name;
@@ -1823,8 +1822,8 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
}
if (xm->name[0] == '/' ||
(!is_kernel_mmap && xm->name[0] == '[')) {
- map = machine__addnew_module_map(machine, xm->start,
- xm->name);
+ struct map *map = machine__addnew_module_map(machine, xm->start, xm->name);
+
if (map == NULL)
goto out_problem;
@@ -1833,6 +1832,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
if (build_id__is_defined(bid))
dso__set_build_id(map__dso(map), bid);
+ map__put(map);
} else if (is_kernel_mmap) {
const char *symbol_name = xm->name + strlen(mmap_name);
/*
--
2.41.0.rc0.172.g3f132b7071-goog
Powered by blists - more mailing lists