All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Andi Kleen <ak@linux.intel.com>,
	Jin Yao <yao.jin@linux.intel.com>,
	linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com,
	Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH] perf tools: fix potential memory leak
Date: Thu, 21 Nov 2019 11:47:44 -0300	[thread overview]
Message-ID: <20191121144744.GI5078@kernel.org> (raw)
In-Reply-To: <20191120180925.21787-1-irogers@google.com>

Em Wed, Nov 20, 2019 at 10:09:25AM -0800, Ian Rogers escreveu:
> An error may be in place when tracepoint_error is called, use
> parse_events__handle_error to avoid a memory leak and to capture the
> first and last error. Error detected by LLVM's libFuzzer using the
> following event:
> 
> $ perf stat -e 'msr/event/,f:e'
> event syntax error: 'msr/event/,f:e'
>                      \___ can't access trace events
> 
> Error:  No permissions to read /sys/kernel/debug/tracing/events/f/e
> Hint:   Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing/'
> 
> Initial error:
> event syntax error: 'msr/event/,f:e'
>                                 \___ no value assigned for term
> Run 'perf list' for a list of valid events
> 
>  Usage: perf stat [<options>] [<command>]
> 
>     -e, --event <event>   event selector. use 'perf list' to list available events

Thanks, applied.

- Arnaldo
 
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  tools/perf/util/parse-events.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
> index 6bae9d6edc12..ecef5b8037b4 100644
> --- a/tools/perf/util/parse-events.c
> +++ b/tools/perf/util/parse-events.c
> @@ -511,6 +511,7 @@ int parse_events_add_cache(struct list_head *list, int *idx,
>  static void tracepoint_error(struct parse_events_error *e, int err,
>  			     const char *sys, const char *name)
>  {
> +	const char *str;
>  	char help[BUFSIZ];
>  
>  	if (!e)
> @@ -524,18 +525,18 @@ static void tracepoint_error(struct parse_events_error *e, int err,
>  
>  	switch (err) {
>  	case EACCES:
> -		e->str = strdup("can't access trace events");
> +		str = "can't access trace events";
>  		break;
>  	case ENOENT:
> -		e->str = strdup("unknown tracepoint");
> +		str = "unknown tracepoint";
>  		break;
>  	default:
> -		e->str = strdup("failed to add tracepoint");
> +		str = "failed to add tracepoint";
>  		break;
>  	}
>  
>  	tracing_path__strerror_open_tp(err, help, sizeof(help), sys, name);
> -	e->help = strdup(help);
> +	parse_events__handle_error(e, 0, strdup(str), strdup(help));
>  }
>  
>  static int add_tracepoint(struct list_head *list, int *idx,
> -- 
> 2.24.0.432.g9d3f5f5b63-goog

-- 

- Arnaldo

  reply	other threads:[~2019-11-21 14:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-20 18:09 [PATCH] perf tools: fix potential memory leak Ian Rogers
2019-11-21 14:47 ` Arnaldo Carvalho de Melo [this message]
2019-11-23  8:14 ` [tip: perf/core] perf parse: Fix potential memory leak when handling tracepoint errors tip-bot2 for Ian Rogers

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=20191121144744.GI5078@kernel.org \
    --to=arnaldo.melo@gmail.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=yao.jin@linux.intel.com \
    /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.