From: Tanushree Shah Date: Sat, 6 Jun 2026 12:15:29 +0000 (+0530) Subject: perf data convert json: Fix addr_location leak on time-filtered samples X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=2857a5dca750ea989c6fb70b4c14e801e4b7b4ad;p=thirdparty%2Fkernel%2Flinux.git perf data convert json: Fix addr_location leak on time-filtered samples When samples are skipped due to time filtering in process_sample_event(), the early return path bypasses addr_location__exit(), causing memory leaks of thread, map, and maps references acquired by machine__resolve(). These references must be released through addr_location__exit() before returning. Fixes: 8e746e95c3e4eb56 ("perf data: Allow filtering conversion by time range") Reviewed-by: Ian Rogers Signed-off-by: Tanushree Shah Cc: Adrian Hunter Cc: Athira Rajeev Cc: Derek Foreman Cc: Hari Bathini Cc: Jiri Olsa Cc: Madhavan Srinivasan Cc: Michael Petlan Cc: Namhyung Kim Cc: Shivani.Nittor@ibm.com Cc: Tanushree.Shah@ibm.com Cc: Tejas.Manhas1@ibm.com Cc: Thomas Richter Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/data-convert-json.c b/tools/perf/util/data-convert-json.c index c71dfb77c697b..40412c3dbdb25 100644 --- a/tools/perf/util/data-convert-json.c +++ b/tools/perf/util/data-convert-json.c @@ -177,6 +177,7 @@ static int process_sample_event(const struct perf_tool *tool, if (perf_time__ranges_skip_sample(c->ptime_range, c->range_num, sample->time)) { ++c->skipped; + addr_location__exit(&al); return 0; }