[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YLp8ipAslRq0wkOm@kernel.org>
Date: Fri, 4 Jun 2021 16:18:34 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Masami Hiramatsu <mhiramat@...nel.org>
Cc: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>,
Jiri Olsa <jolsa@...nel.org>, linux-kernel@...r.kernel.org,
aneesh.kumar@...ux.ibm.com, Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Ian Rogers <irogers@...gle.com>
Subject: Re: [PATCH 2/2] perf/probe: Report permission error for tracefs error
Em Sat, Jun 05, 2021 at 12:31:08AM +0900, Masami Hiramatsu escreveu:
> Report permission error for the tracefs access error.
> This can happen when non-superuser runs perf probe.
> With this patch, perf probe shows the following message.
>
> $ perf probe -l
> No permission to access tracefs. Please run this command again with sudo.
> Error: Failed to show event list.
>
> Signed-off-by: Masami Hiramatsu <mhiramat@...nel.org>
> ---
> tools/perf/util/probe-file.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/util/probe-file.c b/tools/perf/util/probe-file.c
> index 52273542e6ef..52d878f5a44d 100644
> --- a/tools/perf/util/probe-file.c
> +++ b/tools/perf/util/probe-file.c
> @@ -48,6 +48,8 @@ static void print_open_warning(int err, bool uprobe)
> uprobe ? 'u' : 'k', config);
> } else if (err == -ENOTSUP)
> pr_warning("Tracefs or debugfs is not mounted.\n");
> + else if (err == -EACCES)
> + pr_warning("No permission to access tracefs. Please run this command again with sudo.\n");
> else
> pr_warning("Failed to open %cprobe_events: %s\n",
> uprobe ? 'u' : 'k',
> @@ -62,6 +64,8 @@ static void print_both_open_warning(int kerr, int uerr)
> else if (kerr == -ENOENT && uerr == -ENOENT)
> pr_warning("Please rebuild kernel with CONFIG_KPROBE_EVENTS "
> "or/and CONFIG_UPROBE_EVENTS.\n");
> + else if (kerr == -EACCES && uerr == -EACCES)
> + pr_warning("No permission to access tracefs. Please run this command again with sudo.\n");
> else {
> char sbuf[STRERR_BUFSIZE];
> pr_warning("Failed to open kprobe events: %s.\n",
This one doesn't look so helpful, as running as root usually will allow
things to proceed.
'perf trace' does:
⬢[acme@...lbox pahole]$ perf trace ls
Error: No permissions to read /sys/kernel/tracing/events/raw_syscalls/sys_(enter|exit)
Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/'
⬢[acme@...lbox pahole]$
Which would be less drastic than requiring full superuser access.
- Arnaldo
Powered by blists - more mailing lists