summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Savitski <rsavitski@google.com>2023-02-20 20:07:50 +0000
committerRyan Savitski <rsavitski@google.com>2023-03-22 14:33:06 +0000
commit18fa257ea2337b3f8dddc9ee68ac64a28853b6a6 (patch)
tree23dd0d134559759fd93d41380559e13d19ee67ac
parentc2286a317e15fba7025c4c6e2059821187d91da6 (diff)
downloadnative-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.rc6
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