blob: faed9c1a5b28d3d655ed2ddaf333d63e1a39624f [file] [log] [blame]
# Thermal-engine daemon
type thermal-engine, domain;
type thermal-engine_exec, exec_type, file_type;
# Started by init
init_daemon_domain(thermal-engine)
# Allow to read and write cpufreq sysfs
allow thermal-engine sysfs_devices_system_cpu:file rw_file_perms;
# This is to access thermal query device and smem log device
allow thermal-engine { thermal_device smem_log_device }:chr_file rw_file_perms;
allow thermal-engine self:capability {
dac_read_search
dac_override
fsetid
sys_boot
};
allow thermal-engine self:socket create_socket_perms;
# This is required to access thermal sockets
allow thermal-engine thermal_socket:dir w_dir_perms;
allow thermal-engine thermal_socket:sock_file create_file_perms;
allow thermal-engine socket_device:dir w_dir_perms;
# This is required for thermal sysfs access
r_dir_file(thermal-engine, sysfs_thermal)
allow thermal-engine { sysfs_thermal sysfs }:file w_file_perms;
# This is required for qmi access
qmux_socket(thermal-engine);
allow thermal-engine sysfs_mpdecision:file rw_file_perms;
r_dir_file(thermal-engine, sysfs_ssr);
# This is required for wake alarm access
allow thermal-engine self:capability2 wake_alarm;
# This is required for thermal perfd access
allow thermal-engine mpctl_socket:dir search;
allow thermal-engine mpctl_socket:sock_file write;
unix_socket_send(thermal-engine, mpctl, perfd)
unix_socket_connect(thermal-engine, mpctl, perfd)
unix_socket_send(thermal-engine, mpctl, mpdecision)
unix_socket_connect(thermal-engine, mpctl, mpdecision)
#This is to allow access to uio device
allow thermal-engine uio_device:chr_file rw_file_perms;