Thread (3 messages) 3 messages, 3 authors, 5d ago

Re: [PATCH] perf data convert json: Fix addr_location leak on time-filtered samples

From: Ian Rogers <irogers@google.com>
Date: 2026-06-06 15:47:50
Also in: linux-perf-users

On Sat, Jun 6, 2026 at 5:20 AM Tanushree Shah [off-list ref] wrote:
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: 8e746e95c3e4 ("perf data: Allow filtering conversion by time range")
Signed-off-by: Tanushree Shah <redacted>
Reviewed-by: Ian Rogers <irogers@google.com>

Thanks,
Ian
quoted hunk ↗ jump to hunk
---
 tools/perf/util/data-convert-json.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/tools/perf/util/data-convert-json.c b/tools/perf/util/data-convert-json.c
index d526c91312ed..6a8d00c80394 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;
        }

--
2.47.3
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help