diff --git a/rootdir/init.rc b/rootdir/init.rc index 7fb50a303..24200d05f 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 @@ service console /system/bin/sh 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..usb.rc service adbd /sbin/adbd class core @@ -492,4 +489,3 @@ service mdnsd /system/bin/mdnsd 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 000000000..1d114f538 --- /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