am 0f3974c3: Merge "Enable tracing on user builds" into jb-dev
* commit '0f3974c3d0ee2ffe5e0cb9a56658ba18d511f6ea':
Enable tracing on user builds
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 2305572..bb7e4ea 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -6,6 +6,7 @@
import /init.${ro.hardware}.rc
import /init.usb.rc
+import /init.trace.rc
on early-init
# Set init and its forked children's oom_adj.
@@ -353,10 +354,6 @@
on property:ro.debuggable=1
start console
-# Allow writing to the kernel trace log. Enabling tracing still requires root.
-on property:ro.debuggable=1
- chmod 0222 /sys/kernel/debug/tracing/trace_marker
-
# adbd is controlled via property triggers in init.<platform>.usb.rc
service adbd /sbin/adbd
class core
@@ -491,4 +488,3 @@
socket mdnsd stream 0660 mdnsr inet
disabled
oneshot
-
diff --git a/rootdir/init.trace.rc b/rootdir/init.trace.rc
new file mode 100644
index 0000000..1d114f5
--- /dev/null
+++ b/rootdir/init.trace.rc
@@ -0,0 +1,31 @@
+## Permissions to allow system-wide tracing to the kernel trace buffer.
+##
+on boot
+
+# Allow writing to the kernel trace log.
+ chmod 0222 /sys/kernel/debug/tracing/trace_marker
+
+# Allow the shell group to enable (some) kernel tracing.
+ chown root shell /sys/kernel/debug/tracing/trace_clock
+ chown root shell /sys/kernel/debug/tracing/buffer_size_kb
+ chown root shell /sys/kernel/debug/tracing/options/overwrite
+ chown root shell /sys/kernel/debug/tracing/events/sched/sched_switch/enable
+ chown root shell /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
+ chown root shell /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
+ chown root shell /sys/kernel/debug/tracing/events/power/cpu_idle/enable
+ chown root shell /sys/kernel/debug/tracing/events/cpufreq_interactive/enable
+ chown root shell /sys/kernel/debug/tracing/tracing_on
+
+ chmod 0664 /sys/kernel/debug/tracing/trace_clock
+ chmod 0664 /sys/kernel/debug/tracing/buffer_size_kb
+ chmod 0664 /sys/kernel/debug/tracing/options/overwrite
+ chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_switch/enable
+ chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
+ chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
+ chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_idle/enable
+ chmod 0664 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable
+ chmod 0664 /sys/kernel/debug/tracing/tracing_on
+
+# Allow only the shell group to read and truncate the kernel trace.
+ chown root shell /sys/kernel/debug/tracing/trace
+ chmod 0660 /sys/kernel/debug/tracing/trace