1# Grant access to Qualcomm MSM Interface (QMI) radio sockets 2qmux_socket(rild) 3 4allow rild per_mgr_service:service_manager find; 5 6hwbinder_use(rild) 7add_hwservice(rild, vnd_qcril_audio_hwservice) 8 9vndbinder_use(rild) 10binder_call(rild, per_mgr) 11 12# callback into telephony app 13binder_call(rild, platform_app); 14 15allow rild netmgrd_socket:dir search; 16unix_socket_connect(rild, netmgrd, netmgrd) 17 18r_dir_file(rild, sysfs_type) 19 20allow rild time:unix_stream_socket connectto; 21# smlog_dump 22allow rild smlog_dump_exec:file rx_file_perms; 23 24allowxperm rild self:udp_socket ioctl priv_sock_ioctls; 25allow rild self:socket ioctl; 26allowxperm rild self:socket ioctl msm_sock_ipc_ioctls; 27userdebug_or_eng(` 28 allow rild diag_device:chr_file rw_file_perms; 29') 30dontaudit rild diag_device:chr_file rw_file_perms; 31 32# rild needs 'lock' and 'ioctl' for /vendor/qcril.db 33allow rild vendor_file:file { lock ioctl }; 34 35# TODO(b/36644492): Remove data_between_core_and_vendor_violators once 36# rild no longer directly accesses the radio app's data type. 37typeattribute rild data_between_core_and_vendor_violators; 38# allow rild to access radio data file 39allow rild radio_data_file:dir rw_dir_perms; 40allow rild radio_data_file:file create_file_perms; 41 42# In order to be able to use system() 43typeattribute rild vendor_executes_system_violators; 44allow rild shell_exec:file rx_file_perms; 45allow rild vendor_shell_exec:file rx_file_perms; 46 47# TODO(b/36613472): Remove this once system_server, mediaserver, bluetooth, and radio no longer 48# communicate with rild over sockets. 49typeattribute rild socket_between_core_and_vendor_violators; 50 51# Allow vendor native process to read the proc file of xy_qtaguid 52allow rild proc_qtaguid_stat:file r_file_perms; 53