am 1e96e16f: am 0f3974c3: Merge "Enable tracing on user builds" into jb-dev
* commit '1e96e16f81ce46adf5329b1db4662b53b927d4e2':
Enable tracing on user builds
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 7fb50a3..24200d0 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.
@@ -354,10 +355,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
@@ -492,4 +489,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