diff options
author | Ryan Savitski <rsavitski@google.com> | 2023-02-20 20:07:50 +0000 |
---|---|---|
committer | Ryan Savitski <rsavitski@google.com> | 2023-03-22 14:33:06 +0000 |
commit | 18fa257ea2337b3f8dddc9ee68ac64a28853b6a6 (patch) | |
tree | 23dd0d134559759fd93d41380559e13d19ee67ac | |
parent | c2286a317e15fba7025c4c6e2059821187d91da6 (diff) | |
download | native-18fa257ea2337b3f8dddc9ee68ac64a28853b6a6.tar.gz |
tracefs permissions: fix throttled_rss_stat/enable on user builds
throttled_rss_stat is a synthetic event derived from kmem/rss_stat via
hitogram/trigger machinery in tracefs. The existing MAC and DAC
permissions allow us to do everything except actually enabling/disabling
the recording of the synthetic event.
userdebug builds work because we fall back onto a generic enable/disable
set_event mechanism that is debug-only.
From strace on a debuggable build:
openat(AT_FDCWD, "/sys/kernel/tracing/events/synthetic/rss_stat_throttled/enable", O_WRONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
And the corresponding file permissions:
/sys/kernel/tracing/events/synthetic/rss_stat_throttled $ ls -alZ
-rw-r--r-- 1 root readtracefs u:object_r:debugfs_tracing:s0 0 2023-02-20 19:26 enable
Tested: patched onto an internal branch, flashed panther-user, collected
trace with perfetto
Bug: 270060883
Merged-In: I25dcb6d9fa60066fd59f2d1dc796baceb3b6b419
Merged-In: I6001eec487932ab1fd869231815fbf485b7370bb
Change-Id: I6001eec487932ab1fd869231815fbf485b7370bb
(cherry picked from commit 231446d0f0dce6db16ba158113c09719fa562e9e)
-rw-r--r-- | cmds/atrace/atrace.rc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cmds/atrace/atrace.rc b/cmds/atrace/atrace.rc index 5267b0294c..d0b5d598c9 100644 --- a/cmds/atrace/atrace.rc +++ b/cmds/atrace/atrace.rc @@ -295,8 +295,12 @@ on late-init write /sys/kernel/debug/tracing/synthetic_events "rss_stat_throttled unsigned int mm_id; unsigned int curr; int member; long size" # allow creating event triggers - chmod 0666 /sys/kernel/debug/tracing/events/kmem/rss_stat/trigger chmod 0666 /sys/kernel/tracing/events/kmem/rss_stat/trigger + chmod 0666 /sys/kernel/debug/tracing/events/kmem/rss_stat/trigger + + # allow enabling rss_stat_throttled + chmod 0666 /sys/kernel/tracing/events/synthetic/rss_stat_throttled/enable + chmod 0666 /sys/kernel/debug/tracing/events/synthetic/rss_stat_throttled/enable # Only create the tracing instance if persist.mm_events.enabled # Attempting to remove the tracing instance after it has been created |