Messages in this thread | | | From | Mathieu Poirier <> | Date | Mon, 12 Aug 2019 15:42:17 -0600 | Subject | Re: [PATCH v3 4/4] perf: Use CAP_SYS_ADMIN instead of euid==0 with ftrace |
| |
On Mon, 12 Aug 2019 at 14:29, Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote: > > Em Mon, Aug 12, 2019 at 05:27:06PM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Mon, Aug 12, 2019 at 05:22:51PM -0300, Arnaldo Carvalho de Melo escreveu: > > > Em Wed, Aug 07, 2019 at 10:44:17AM -0400, Igor Lubashev escreveu: > > > > @@ -281,7 +283,7 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace, int argc, const char **argv) > > > > .events = POLLIN, > > > > }; > > > > > > > > - if (geteuid() != 0) { > > > > + if (!perf_cap__capable(CAP_SYS_ADMIN)) { > > > > pr_err("ftrace only works for root!\n"); > > > > > > I guess we should update the error message too? > > > > > > > I.e. I applied this as a follow up patch: > > > > diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c > > index 01a5bb58eb04..ba8b65c2f9dc 100644 > > --- a/tools/perf/builtin-ftrace.c > > +++ b/tools/perf/builtin-ftrace.c > > @@ -284,7 +284,12 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace, int argc, const char **argv) > > }; > > > > if (!perf_cap__capable(CAP_SYS_ADMIN)) { > > - pr_err("ftrace only works for root!\n"); > > + pr_err("ftrace only works for %s!\n", > > +#ifdef HAVE_LIBCAP_SUPPORT > > + "users with the SYS_ADMIN capability" > > +#else > > + "root" > > +#endif > > ); > > :-) > > > return -1; > > } > > > > I've pushed the whole set to my tmp.perf/cap branch, please chec
Please hold on before moving further - I'm getting a segmentation fault on ARM64 that I'm still trying to figure out.
> > - Arnaldo
| |