#integrated sensor process type ims, domain; type ims_exec, exec_type, vendor_file_type, file_type; # Started by init init_daemon_domain(ims) net_domain(ims) # Use generic netlink socket allow ims self:{ socket netlink_generic_socket qipcrtr_socket } create_socket_perms_no_ioctl; set_prop(ims, qcom_ims_prop) unix_socket_connect(ims, cnd, cnd) #Allow access to netmgrd socket allow ims netmgrd_socket:dir r_dir_perms; unix_socket_connect(ims, netmgrd, netmgrd) allow ims netmgrd_socket:sock_file rw_file_perms; hwbinder_use(ims) get_prop(ims, hwservicemanager_prop) r_dir_file(ims, sysfs_msm_subsys) allow ims sysfs_soc:dir search; allow ims sysfs_soc:file r_file_perms; get_prop(ims, cnd_vendor_prop) allow ims hal_datafactory_hwservice:hwservice_manager find; # for video call binder_call(ims, cnd) #SSD_RIL+ allow ims vendor_radio_data_file:dir rw_dir_perms; allow ims vendor_radio_data_file:file create_file_perms; #SSD_RIL- allow ims sysfs_timestamp_switch:file r_file_perms; allow ims sysfs_data:file r_file_perms; allow ims self:capability net_bind_service; allow ims ion_device:chr_file r_file_perms; allow ims ims_socket:sock_file write; allowxperm ims self:udp_socket ioctl RMNET_IOCTL_EXTENDED; #diag userdebug_or_eng(` r_dir_file(ims, sysfs_diag) allow ims diag_device:chr_file rw_file_perms; ') allow ims hal_cne_hwservice:hwservice_manager find; set_prop(ims, ctl_start_prop); set_prop(ims, ctl_stop_prop); r_dir_file(ims, sysfs_esoc) r_dir_file(ims, sysfs_ssr) dontaudit hal_rcsservice sysfs_faceauth:dir r_dir_perms; dontaudit hal_rcsservice sysfs_faceauth:file r_file_perms; dontaudit ims sysfs_faceauth:dir search; dontaudit ims diag_device:chr_file rw_file_perms;