* /sys/kernel/tracing/events permissions
@ 2021-11-22 10:55 Milian Wolff
2021-11-22 15:02 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Milian Wolff @ 2021-11-22 10:55 UTC (permalink / raw)
To: linux-perf-users; +Cc: Arnaldo Carvalho de Melo
[-- Attachment #1: Type: text/plain, Size: 1573 bytes --]
Hello,
a recent kernel update on my arch system has lead to breakage with regard to
accessing trace events from perf. For example:
```
$ perf record -e sched:sched_switch ls
event syntax error: 'sched:sched_switch'
\___ can't access trace events
Error: No permissions to read /sys/kernel/tracing/events/sched/sched_switch
Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/'
Run 'perf list' for a list of valid events
Usage: perf record [<options>] [<command>]
or: perf record [<options>] -- <command> [<options>]
-e, --event <event> event selector. use 'perf list' to list available
events
```
When I then try to run the remount hint from the message above, which used to
work just fine, then the error persists, because:
```
$ mount | grep tracing
tracefs on /sys/kernel/tracing type tracefs
(rw,nosuid,nodev,noexec,relatime,mode=755)
tracefs on /sys/kernel/debug/tracing type tracefs
(rw,nosuid,nodev,noexec,relatime,mode=755)
```
and:
```
$ ls -ld /sys/kernel/tracing/
drwxr-xr-x root root 0 B Mon Nov 22 08:39:15 2021 /sys/kernel/tracing/
$ ls -ld /sys/kernel/tracing/events/
drwxr-x--- root root 0 B Mon Nov 22 08:39:26 2021 /sys/kernel/tracing/events/
```
How should this be handled? Is it now required to manually `chmod` the
`events` folder, or is there another means to allow non-root to record kernel
trace events?
Thanks
--
Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5272 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: /sys/kernel/tracing/events permissions
2021-11-22 10:55 /sys/kernel/tracing/events permissions Milian Wolff
@ 2021-11-22 15:02 ` Arnaldo Carvalho de Melo
2021-11-22 17:01 ` Steven Rostedt
0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-11-22 15:02 UTC (permalink / raw)
To: Milian Wolff, Steven Rostedt; +Cc: linux-perf-users
Em Mon, Nov 22, 2021 at 11:55:11AM +0100, Milian Wolff escreveu:
> Hello,
>
> a recent kernel update on my arch system has lead to breakage with regard to
> accessing trace events from perf. For example:
I saw some recent changes but haven't yet tried to reflect it into the
perf tools:
commit 79ef0c00142519bc34e1341447f3797436cc48bf
Merge: d54f486035fd89f1 feea69ec121f0670
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Mon Nov 1 20:05:19 2021 -0700
Merge tag 'trace-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing updates from Steven Rostedt:
<SNIP>
- Have tracefs allow owner and group permissions by default (only
denying others). There's been pressure to allow non root to tracefs
in a controlled fashion, and using groups is probably the safest.
<SNIP>
> ```
> $ perf record -e sched:sched_switch ls
> event syntax error: 'sched:sched_switch'
> \___ can't access trace events
>
> Error: No permissions to read /sys/kernel/tracing/events/sched/sched_switch
> Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/'
>
> Run 'perf list' for a list of valid events
>
> Usage: perf record [<options>] [<command>]
> or: perf record [<options>] -- <command> [<options>]
>
> -e, --event <event> event selector. use 'perf list' to list available
> events
> ```
>
> When I then try to run the remount hint from the message above, which used to
> work just fine, then the error persists, because:
>
> ```
> $ mount | grep tracing
> tracefs on /sys/kernel/tracing type tracefs
> (rw,nosuid,nodev,noexec,relatime,mode=755)
> tracefs on /sys/kernel/debug/tracing type tracefs
> (rw,nosuid,nodev,noexec,relatime,mode=755)
> ```
>
> and:
>
> ```
> $ ls -ld /sys/kernel/tracing/
> drwxr-xr-x root root 0 B Mon Nov 22 08:39:15 2021 /sys/kernel/tracing/
> $ ls -ld /sys/kernel/tracing/events/
> drwxr-x--- root root 0 B Mon Nov 22 08:39:26 2021 /sys/kernel/tracing/events/
> ```
>
> How should this be handled? Is it now required to manually `chmod` the
> `events` folder, or is there another means to allow non-root to record kernel
> trace events?
Rostedt, I looked for documentation for this on Documentation/trace/ but
couldn't find, so its just a matter of creating a 'tracing' group and
adding users to this group that then can use tracefs files?
- Arnaldo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: /sys/kernel/tracing/events permissions
2021-11-22 15:02 ` Arnaldo Carvalho de Melo
@ 2021-11-22 17:01 ` Steven Rostedt
2021-11-22 18:37 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2021-11-22 17:01 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: Milian Wolff, linux-perf-users
On Mon, 22 Nov 2021 12:02:37 -0300
Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Em Mon, Nov 22, 2021 at 11:55:11AM +0100, Milian Wolff escreveu:
> > Hello,
> >
> > a recent kernel update on my arch system has lead to breakage with regard to
> > accessing trace events from perf. For example:
>
Interesting. The change should have made the access to tracefs less
restrictive, not more. Ah, I think it's the default permissions that caused
this.
> I saw some recent changes but haven't yet tried to reflect it into the
> perf tools:
>
> commit 79ef0c00142519bc34e1341447f3797436cc48bf
> Merge: d54f486035fd89f1 feea69ec121f0670
> Author: Linus Torvalds <torvalds@linux-foundation.org>
> Date: Mon Nov 1 20:05:19 2021 -0700
>
> Merge tag 'trace-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
>
> Pull tracing updates from Steven Rostedt:
> <SNIP>
> - Have tracefs allow owner and group permissions by default (only
> denying others). There's been pressure to allow non root to tracefs
> in a controlled fashion, and using groups is probably the safest.
> <SNIP>
>
>
> > ```
> > $ perf record -e sched:sched_switch ls
> > event syntax error: 'sched:sched_switch'
> > \___ can't access trace events
> >
> > Error: No permissions to read /sys/kernel/tracing/events/sched/sched_switch
> > Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/'
It's not the one commit, but the a clean up to not allow other access by
default.
To get the old access you need to add:
sudo chmod -R o+r /sys/kernel/tracing
sudo find /sys/kernel/tracing -type d -exec chmod o+x {} \;
> > How should this be handled? Is it now required to manually `chmod` the
> > `events` folder, or is there another means to allow non-root to record kernel
> > trace events?
>
> Rostedt, I looked for documentation for this on Documentation/trace/ but
> couldn't find, so its just a matter of creating a 'tracing' group and
> adding users to this group that then can use tracefs files?
>
I should add that to the documentation.
I believe the commit was the change to the default permissions (for group)
and not for other.
But to add a group, you can simply add:
sudo addgroup tracing
sudo chgrp -R /sys/kernel/tracing
And if you only do the above (not the o+* commands explained earlier), then
only those in the tracing group have access to tracefs.
-- Steve
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: /sys/kernel/tracing/events permissions
2021-11-22 17:01 ` Steven Rostedt
@ 2021-11-22 18:37 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-11-22 18:37 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Milian Wolff, linux-perf-users
Em Mon, Nov 22, 2021 at 12:01:55PM -0500, Steven Rostedt escreveu:
> On Mon, 22 Nov 2021 12:02:37 -0300 Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > Em Mon, Nov 22, 2021 at 11:55:11AM +0100, Milian Wolff escreveu:
> > > a recent kernel update on my arch system has lead to breakage with regard to
> > > accessing trace events from perf. For example:
> Interesting. The change should have made the access to tracefs less
> restrictive, not more. Ah, I think it's the default permissions that caused
> this.
> > I saw some recent changes but haven't yet tried to reflect it into the
> > perf tools:
> > commit 79ef0c00142519bc34e1341447f3797436cc48bf
> > Merge: d54f486035fd89f1 feea69ec121f0670
> > Author: Linus Torvalds <torvalds@linux-foundation.org>
> > Date: Mon Nov 1 20:05:19 2021 -0700
> >
> > Merge tag 'trace-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
> >
> > Pull tracing updates from Steven Rostedt:
> > <SNIP>
> > - Have tracefs allow owner and group permissions by default (only
> > denying others). There's been pressure to allow non root to tracefs
> > in a controlled fashion, and using groups is probably the safest.
> > <SNIP>
> > > ```
> > > $ perf record -e sched:sched_switch ls
> > > event syntax error: 'sched:sched_switch'
> > > \___ can't access trace events
> > > Error: No permissions to read /sys/kernel/tracing/events/sched/sched_switch
> > > Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/'
> It's not the one commit, but the a clean up to not allow other access by
> default.
> To get the old access you need to add:
> sudo chmod -R o+r /sys/kernel/tracing
> sudo find /sys/kernel/tracing -type d -exec chmod o+x {} \;
> > > How should this be handled? Is it now required to manually `chmod` the
> > > `events` folder, or is there another means to allow non-root to record kernel
> > > trace events?
> > Rostedt, I looked for documentation for this on Documentation/trace/ but
> > couldn't find, so its just a matter of creating a 'tracing' group and
> > adding users to this group that then can use tracefs files?
> I should add that to the documentation.
> I believe the commit was the change to the default permissions (for group)
> and not for other.
> But to add a group, you can simply add:
> sudo addgroup tracing
> sudo chgrp -R /sys/kernel/tracing
sudo chgrp -R tracing /sys/kernel/tracing
> And if you only do the above (not the o+* commands explained earlier), then
> only those in the tracing group have access to tracefs.
Ok, I'll try to autodetect this new behaviour and provide a hint for the
recommended behaviour, to create a group and add users to it.
- Arnaldo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-11-22 18:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-22 10:55 /sys/kernel/tracing/events permissions Milian Wolff
2021-11-22 15:02 ` Arnaldo Carvalho de Melo
2021-11-22 17:01 ` Steven Rostedt
2021-11-22 18:37 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).