type mi_thermald, domain, mlstrustedsubject; type mi_thermald_exec, exec_type, vendor_file_type, file_type; init_daemon_domain(mi_thermald) allow mi_thermald sysfs:dir { read open }; allow mi_thermald sysfs_devices_system_cpu:file rw_file_perms; allow mi_thermald self:capability { fsetid sys_boot }; allow mi_thermald sysfs_thermal:file w_file_perms; allow mi_thermald vendor_sysfs_kgsl:dir r_dir_perms; allow mi_thermald vendor_sysfs_kgsl:file rw_file_perms; allow mi_thermald vendor_sysfs_kgsl:lnk_file r_file_perms; allow mi_thermald vendor_sysfs_battery_supply:dir r_dir_perms; allow mi_thermald vendor_sysfs_battery_supply:file rw_file_perms; allow mi_thermald vendor_sysfs_battery_supply:lnk_file r_file_perms; allow mi_thermald vendor_sysfs_qcom_battery:file rw_file_perms; allow mi_thermald vendor_sysfs_graphics:dir r_dir_perms; allow mi_thermald vendor_sysfs_graphics:file rw_file_perms; allow mi_thermald vendor_sysfs_graphics:lnk_file r_file_perms; allow mi_thermald thermal_data_file:dir { add_name read remove_name search watch write }; allow mi_thermald thermal_data_file:file { create getattr open read rename setattr unlink write }; allow mi_thermald mi_thermald:capability { chown fowner }; allow mi_thermald mi_thermald:capability2 { block_suspend wake_alarm }; allow mi_thermald vendor_data_file:dir { add_name read remove_name watch write }; allow mi_thermald vendor_data_file:file { create getattr open read rename setattr unlink write }; allow mi_thermald sys_thermal_wifi_limit:file { open read write }; allow mi_thermald sys_thermal_wifi_limit:file rw_file_perms; r_dir_file(mi_thermald, sysfs_thermal) r_dir_file(mi_thermald, sysfs_leds) r_dir_file(mi_thermald, vendor_sysfs_qcom_battery) set_prop(mi_thermald, vendor_thermal_normal_prop)