All of lore.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Howard Chu <howardchu95@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-perf-users@vger.kernel.org
Subject: Re: [PATCH] perf trace: Fix some leaks of struct thread
Date: Wed, 2 Apr 2025 22:30:02 -0700	[thread overview]
Message-ID: <Z-4c2rZZzD59FFJn@google.com> (raw)
In-Reply-To: <CAH0uvohL4cFXukxhY6G4WfAWXqPOi3HbEHv=_KWixBQmgon2KQ@mail.gmail.com>

Hello Howard,

On Tue, Apr 01, 2025 at 06:07:15PM -0700, Howard Chu wrote:
> Hello Namhyung,
> 
> On Mon, Mar 31, 2025 at 11:46 AM 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>
> > ---
> >  tools/perf/builtin-trace.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> > index 3d0c0076884d34cb..10cd99888a9a11b5 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()
> > @@ -4123,8 +4123,10 @@ static int trace__set_filter_loop_pids(struct trace *trace)
> >                         pids[nr++] = thread__tid(parent);
> 
> I suggest adding a:
> thread_put(parent);
> here, just before the break.

You're right, will add it.

Thanks,
Namhyung

> 
> >                         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
> >
> 
> Thanks,
> Howard

      reply	other threads:[~2025-04-03  5:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-31 18:46 [PATCH] perf trace: Fix some leaks of struct thread Namhyung Kim
2025-04-01 20:23 ` Ian Rogers
2025-04-02  1:07 ` Howard Chu
2025-04-03  5:30   ` Namhyung Kim [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z-4c2rZZzD59FFJn@google.com \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=howardchu95@gmail.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.