All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] perf trace: Fix some more memory leaks
Date: Thu, 8 May 2025 11:52:08 -0300	[thread overview]
Message-ID: <aBzFGKKubskQDLrs@x1> (raw)
In-Reply-To: <20250401202715.3493567-1-irogers@google.com>

On Tue, Apr 01, 2025 at 01:27:15PM -0700, Ian Rogers wrote:
> The files.max is the maximum valid fd in the files array and so
> freeing the values needs to be inclusive of the max value.
> 
> Add missing thread__put of the found parent thread in
> thread__e_machine.

Split it into:

⬢ [acme@toolbx perf-tools-next]$ git log --oneline -2
7900938850645ed4 (HEAD -> perf-tools-next) perf trace: Add missing thread__put() in thread__e_machine()
8830091383b03498 perf trace: Free the files.max entry in files->table
⬢ [acme@toolbx perf-tools-next]$ 

So that git --oneline is more descriptive, etc.

Thanks, applied to perf-tools-next,

- Arnaldo
 
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  tools/perf/builtin-trace.c | 3 ++-
>  tools/perf/util/thread.c   | 1 +
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index 58a2ce3ff2db..c02ea4e8b270 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -1657,7 +1657,7 @@ static const size_t trace__entry_str_size = 2048;
>  
>  static void thread_trace__free_files(struct thread_trace *ttrace)
>  {
> -	for (int i = 0; i < ttrace->files.max; ++i) {
> +	for (int i = 0; i <= ttrace->files.max; ++i) {
>  		struct file *file = ttrace->files.table + i;
>  		zfree(&file->pathname);
>  	}
> @@ -1703,6 +1703,7 @@ static int trace__set_fd_pathname(struct thread *thread, int fd, const char *pat
>  
>  	if (file != NULL) {
>  		struct stat st;
> +
>  		if (stat(pathname, &st) == 0)
>  			file->dev_maj = major(st.st_rdev);
>  		file->pathname = strdup(pathname);
> diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c
> index 89585f53c1d5..415c0e5d1e75 100644
> --- a/tools/perf/util/thread.c
> +++ b/tools/perf/util/thread.c
> @@ -471,6 +471,7 @@ uint16_t thread__e_machine(struct thread *thread, struct machine *machine)
>  
>  		if (parent) {
>  			e_machine = thread__e_machine(parent, machine);
> +			thread__put(parent);
>  			thread__set_e_machine(thread, e_machine);
>  			return e_machine;
>  		}
> -- 
> 2.49.0.504.g3bcea36a83-goog
> 

  parent reply	other threads:[~2025-05-08 14:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-01 20:27 [PATCH v1] perf trace: Fix some more memory leaks Ian Rogers
2025-04-02  1:16 ` Howard Chu
2025-05-08 14:52 ` Arnaldo Carvalho de Melo [this message]
2025-05-08 17:36   ` Namhyung Kim
2025-05-08 20:11     ` Arnaldo Carvalho de Melo
2025-05-09 15:47       ` Namhyung Kim

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=aBzFGKKubskQDLrs@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.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=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@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.