# Thermal-engine daemon type thermal-engine, domain; type thermal-engine_exec, exec_type, file_type; init_daemon_domain(thermal-engine) userdebug_or_eng(` allow thermal-engine diag_device:chr_file rw_file_perms; ') allow thermal-engine self:capability { net_admin fsetid }; allow thermal-engine self:netlink_kobject_uevent_socket create_socket_perms; # Allow access to /dev/smem_log. allow thermal-engine smem_log_device:chr_file rw_file_perms; # Access to /dev/socket/thermal-.* allow thermal-engine thermal_socket:sock_file rw_file_perms; # Access to /dev/socket/mpdecision. unix_socket_connect(thermal-engine, mpdecision, mpdecision); # Allow access to /dev/uio0. #allow rmt_storage uio_device:chr_file rw_file_perms; # Write access to thermal related sysfs nodes. r_dir_file(thermal-engine, sysfs_thermal) allow thermal-engine sysfs_thermal:file w_file_perms; # Creates/Talks to qmuxd via the qmux_radio socket. qmux_socket(thermal-engine); allow thermal-engine self:socket create_socket_perms; allow thermal-engine sysfs_thermal:file r_file_perms; allow thermal-engine sysfs_thermal:dir r_dir_perms;