type thermal-engine, domain;
type thermal-engine_exec, exec_type, vendor_file_type, file_type;

init_daemon_domain(thermal-engine)

allow thermal-engine self:capability2 block_suspend;

# to read /sys/devices
allow thermal-engine sysfs:dir r_dir_perms;

allow thermal-engine sysfs_msm_subsys:dir r_dir_perms;
allow thermal-engine sysfs_msm_subsys:file rw_file_perms;
allow thermal-engine sysfs_soc:dir search;
allow thermal-engine sysfs_soc:file r_file_perms;
allow thermal-engine sysfs_thermal:dir r_dir_perms;
allow thermal-engine sysfs_thermal:file rw_file_perms;
allow thermal-engine sysfs_rmtfs:dir search;
allow thermal-engine sysfs_rmtfs:file r_file_perms;

allow thermal-engine audio_device:chr_file rw_file_perms;

r_dir_file(thermal-engine, sysfs_leds)
r_dir_file(thermal-engine, sysfs_msm_subsys)
r_dir_file(thermal-engine, sysfs_uio)
r_dir_file(thermal-engine, sysfs_batteryinfo)

allow thermal-engine self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;

allow thermal-engine self:socket create_socket_perms;
allowxperm thermal-engine self:socket ioctl msm_sock_ipc_ioctls;

# reboot/shutdown for thermal limits exceeded
set_prop(thermal-engine, powerctl_prop)

allow thermal-engine self:global_capability2_class_set wake_alarm;

dontaudit thermal-engine kernel:system module_request;
