164 lines
5.5 KiB
Text
164 lines
5.5 KiB
Text
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;
|
|
allow system_server sensors_persist_file:dir r_dir_perms;
|
|
allow system_server sensors_persist_file:file r_file_perms;
|
|
|
|
# access to perflock
|
|
allow system_server mpctl_socket:dir r_dir_perms;
|
|
unix_socket_send(system_server, mpctl, mpdecision)
|
|
unix_socket_connect(system_server, mpctl, mpdecision)
|
|
|
|
#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
|
|
allow system_server iop_socket:dir r_dir_perms;
|
|
allow system_server iop_data_file:dir r_dir_perms;
|
|
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;
|
|
|
|
unix_socket_send(system_server, mpctl, perfd)
|
|
unix_socket_connect(system_server, mpctl, perfd)
|
|
|
|
# For 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;
|
|
|
|
#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;
|
|
|
|
# For WFD
|
|
allow system_server graphics_device:dir r_dir_perms;
|
|
|
|
# Allow Izat service
|
|
allow system_server izat_service:service_manager add;
|
|
|
|
# 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;
|
|
|
|
#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
|
|
use_per_mgr(system_server);
|
|
|
|
#allow binder calls
|
|
binder_call(system_server, seempd)
|
|
|
|
# Allow system server access to qfp daemon
|
|
binder_call(system_server, qfp-daemon);
|
|
allow system_server iqfp_service:service_manager find;
|
|
|
|
#for seemp
|
|
unix_socket_send(system_server, seempdw, seempd)
|
|
|
|
# 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 set fst system properties
|
|
set_prop(system_server, fst_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 };
|
|
userdebug_or_eng(`
|
|
diag_use(system_server)
|
|
')
|