1typeattribute hal_power_default mlstrustedsubject;
2
3allow hal_power_default sysfs_devices_system_cpu:file rw_file_perms;
4allow hal_power_default latency_device:chr_file rw_file_perms;
5allow hal_power_default cgroup:file r_file_perms;
6
7# To get/set powerhal state property
8set_prop(hal_power_default, vendor_power_prop)
9
10# Rule for hal_power_default to access graphics composer process
11unix_socket_connect(hal_power_default, pps, hal_graphics_composer_default);
12
13# Set scheduling info for apps (for adpf)
14allow hal_power_default appdomain:process { getsched setsched };
15allow hal_power_default self:capability sys_nice;
16
17# Set scheduling info for surfaceflinger (for adpf)
18allow hal_power_default surfaceflinger:process setsched;
19
20# Set scheduling info for HWC (for adpf)
21allow hal_power_default hal_graphics_composer_default:process setsched;
22
23# Set scheduling info for system_server (for adpf)
24allow hal_power_default system_server:process setsched;
25
26# Allow reading proc files for CPU statistics.
27allow hal_power_default proc_stat:file r_file_perms;
28allow hal_power_default proc_vendor_sched:dir r_dir_perms;
29allow hal_power_default proc_vendor_sched:file r_file_perms;
30
31# Allow read/write thermal sysfs and property
32allow hal_power_default thermal_link_device:dir r_dir_perms;
33allow hal_power_default sysfs_thermal:dir r_dir_perms;
34allow hal_power_default sysfs_thermal:file rw_file_perms;
35allow hal_power_default sysfs_thermal:lnk_file r_file_perms;
36set_prop(hal_power_default, vendor_thermal_prop)
37
38userdebug_or_eng(`
39# Allow reading /data/vendor/* for debugging
40  allow hal_power_default vendor_data_file:file r_file_perms;
41')
42