allow system_server self:capability sys_module; # allow system_server to communicate with cnd process over cnd_socket #unix_socket_connect(system_server, cnd, cnd) # allow system/framework applications to update the cnd configuration files allow system_server cnd_data_file:dir rw_dir_perms; allow system_server cnd_data_file:file create_file_perms; # Access to sensors socket #unix_socket_connect(system_server, sensors, sensors) #unix_socket_send(system_server, sensors, sensors) #allow system_server sensors:unix_stream_socket sendto; #allow system_server sensors_socket:sock_file r_file_perms; #qmux_socket(system_server); allow system_server self:socket create_socket_perms; allowxperm system_server self:socket ioctl msm_sock_ipc_ioctls; allow system_server sensors_persist_file:dir r_dir_perms; allow system_server sensors_persist_file:file r_file_perms; allow system_server sysfs_sensors:dir search; allow system_server sysfs_sensors:file rw_file_perms; #access to gamed #unix_socket_connect(system_server, gamed, gamed) allow system_server { # For wifistatemachine wbc_service # Allow system_server to add digital pen system service usf_service #dpmservice }:service_manager add; allow system_server qtitetherservice_service:service_manager find; #For ANT tty communication and to set wc_transport prop set_prop(system_server, bluetooth_prop) set_prop(system_server, usf_prop) set_prop(system_server, alarm_handled_prop) set_prop(system_server, alarm_instance_prop) # required for ANT App to connectto wcnss_filter sockets allow system_server bluetooth:unix_stream_socket connectto; # access to iop unix_socket_send(system_server, iop, dumpstate) unix_socket_connect(system_server, iop, dumpstate) # allow system/framework applications to update the dpmd configuration files #unix_socket_connect(system_server, dpmd, dpmd); #allow system_server { dpmd_socket socket_device }:sock_file w_file_perms; #allow system_server dpmd_data_file:dir create_dir_perms; #allow system_server dpmd_data_file:file create_file_perms; # For location binder_call(system_server, location); type_transition system_server location_data_file:sock_file location_socket "location-mq-s"; type_transition system_server location_data_file:sock_file location_socket "alarm_svc"; #allow system_server location:unix_stream_socket connectto; allow system_server location_data_file:{ file fifo_file } create_file_perms; allow system_server location_data_file:dir create_dir_perms; allow system_server { location_app_data_file mdtp_svc_app_data_file } :file rw_file_perms; allow system_server { location_app_data_file mdtp_svc_app_data_file } :dir r_dir_perms; #allow system_server location_socket:sock_file create_file_perms; set_prop(system_server, location_prop) #For wifistatemachine allow system_server kernel:key search; allow system_server wlan_device:chr_file rw_file_perms; #For ssr allow system_server ssr_device:chr_file r_file_perms; allow system_server { fuse persist_file }:dir search; allow system_server { serial_device smd_device # graphics_device, audio_device, tee_device is for WFD graphics_device audio_device tee_device #allow access to power control ANT chip bt_device }:chr_file rw_file_perms; #For firmware r_dir_file(system_server, bt_firmware_file) #For BT firmware r_dir_file(system_server, firmware_file) #connect to wcnss_filter #allow system_server wcnss_filter:unix_stream_socket connectto; # Allow system server access to usf resources allow system_server usf:process signal; #allow system_server usf:unix_stream_socket connectto; allow system_server usf_data_file:sock_file write; allow system_server usf_data_file:dir rw_dir_perms; allow system_server usf_data_file:file r_file_perms; allow system_server usf_data_file:lnk_file create_file_perms; allow system_server usf_data_file:fifo_file w_file_perms; get_prop(system_server, xlat_prop) # For WFD allow system_server graphics_device:dir r_dir_perms; # For QSEE Svc Apps allow system_server qsee_svc_app_data_file:file rw_file_perms; allow system_server qsee_svc_app_data_file:dir r_dir_perms; # For IMS Helper Svc App allow system_server imshelper_app_data_file:file rw_file_perms; allow system_server imshelper_app_data_file:dir r_dir_perms; #Allow access to netmgrd socket #netmgr_socket(system_server); # So init can manage our process allow system_server RIDL:fd use; allow system_server RIDL:fifo_file write; # So init can manage our process allow system_server qti_logkit:fd use; allow system_server qti_logkit:fifo_file write; #Rules for system server to talk to peripheral manager get_prop(system_server, per_mgr_state_prop); # Allow system server access to qfp daemon binder_call(system_server, qfp-daemon); binder_call(system_server, fps_hal) allow system_server iqfp_service:service_manager find; # For shutdown animation set_prop(system_server, ctl_bootanim_prop) # allow tethering to access dhcp leases r_dir_file(system_server, dhcp_data_file) # Allow system server to access fst,wigig system properties set_prop(system_server, fst_prop) get_prop(system_server, fst_prop); set_prop(system_server, wigig_prop); #allow access to fingerprintd data file allow system_server fingerprintd_data_file:file { r_file_perms unlink }; allow system_server fingerprintd_data_file:dir { rw_dir_perms rmdir }; #for Wifi module this is needed allow system_server system_file:system module_load; allow system_server persist_alarm_file:dir rw_dir_perms; allow system_server persist_alarm_file:file { rw_file_perms create }; get_prop(system_server, alarm_boot_prop) userdebug_or_eng(` diag_use(system_server) ') # allow access to low persistence mode sysfs node allow system_server sysfs_graphics:file rw_file_perms; # timerslack_ns allow system_server { location_app system_app } :file write; allow system_server opengles_prop:file r_file_perms; allow system_server graphics_vulkan_prop:file r_file_perms; allow system_server qemu_hw_mainkeys_prop:file r_file_perms; allow system_server hwui_prop:file r_file_perms; allow system_server bservice_prop:file r_file_perms; allow system_server reschedule_service_prop:file r_file_perms; allow system_server appdomain:file w_file_perms; # IPC call for sensor feed binder_call(system_server, mm-pp-daemon) binder_call(system_server, hal_camera) binder_call(system_server, mm-qcamerad) # Ant ipc hal_client_domain(system_server,hal_bluetooth); hal_client_domain(system_server, hal_perf) hal_client_domain(system_server, hal_sensors) # allow access to QDMA allow system_server { qdma_app_data_file } :file rw_file_perms; allow system_server { qdma_app_data_file } :dir r_dir_perms; # allow WIGIG framework hosted in system_server to access wigig_hal hal_client_domain(system_server, hal_wigig) # allow WIGIG framework to access network performance tuner hal_client_domain(system_server, hal_wigig_npt) # allow WIGIG framework access to wil6210 sysfs files like thermal_throttling allow system_server sysfs_wigig:file rw_file_perms; # allow system_server to access IOP HAL service hal_client_domain(system_server, hal_iop) #kgsl r_dir_file(system_server, kgsl_debugfs); allow system_server qti_debugfs:file r_file_perms;