[PATCH v2] perf trace: Fix some leaks of struct thread

Namhyung Kim posted 1 patch 8 months, 2 weeks ago
tools/perf/builtin-trace.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH v2] perf trace: Fix some leaks of struct thread
Posted by Namhyung Kim 8 months, 2 weeks ago
I've found some leaks from 'perf trace -a'.  It seems there are more
leaks but this is what I can find for now.

Cc: Howard Chu <howardchu95@gmail.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
v2)
 * add one more thread__put() for parent  (Howard)

 tools/perf/builtin-trace.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 3d0c0076884d34cb..48a0c55c6bcb5840 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2835,7 +2835,7 @@ static int trace__fprintf_sys_enter(struct trace *trace, struct evsel *evsel,
 	e_machine = thread__e_machine(thread, trace->host);
 	sc = trace__syscall_info(trace, evsel, e_machine, id);
 	if (sc == NULL)
-		return -1;
+		goto out_put;
 	ttrace = thread__trace(thread, trace);
 	/*
 	 * We need to get ttrace just to make sure it is there when syscall__scnprintf_args()
@@ -4121,10 +4121,13 @@ static int trace__set_filter_loop_pids(struct trace *trace)
 		if (!strcmp(thread__comm_str(parent), "sshd") ||
 		    strstarts(thread__comm_str(parent), "gnome-terminal")) {
 			pids[nr++] = thread__tid(parent);
+			thread__put(parent);
 			break;
 		}
+		thread__put(thread);
 		thread = parent;
 	}
+	thread__put(thread);
 
 	err = evlist__append_tp_filter_pids(trace->evlist, nr, pids);
 	if (!err && trace->filter_pids.map)
-- 
2.49.0.472.ge94155a9ec-goog
Re: [PATCH v2] perf trace: Fix some leaks of struct thread
Posted by Howard Chu 8 months, 2 weeks ago
Hello Namhyung,

On Wed, Apr 2, 2025 at 10:42 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> I've found some leaks from 'perf trace -a'.  It seems there are more
> leaks but this is what I can find for now.
>
> Cc: Howard Chu <howardchu95@gmail.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Reviewed-by: Howard Chu <howardchu95@gmail.com>

Thanks,
Howard