blob: 7cbe38ee24d0e08fca582cce809136181e1d992a [file] [log] [blame]
# Grant access to Qualcomm MSM Interface (QMI) radio sockets
qmux_socket(rild)
allow rild per_mgr_service:service_manager find;
hwbinder_use(rild)
add_hwservice(rild, vnd_qcril_audio_hwservice)
vndbinder_use(rild)
binder_call(rild, per_mgr)
# callback into telephony app
binder_call(rild, platform_app);
allow rild netmgrd_socket:dir search;
unix_socket_connect(rild, netmgrd, netmgrd)
r_dir_file(rild, sysfs_type)
allow rild time:unix_stream_socket connectto;
# smlog_dump
allow rild smlog_dump_exec:file rx_file_perms;
allowxperm rild self:udp_socket ioctl priv_sock_ioctls;
allow rild self:socket ioctl;
allowxperm rild self:socket ioctl msm_sock_ipc_ioctls;
userdebug_or_eng(`
allow rild diag_device:chr_file rw_file_perms;
')
dontaudit rild diag_device:chr_file rw_file_perms;
# rild needs 'lock' and 'ioctl' for /vendor/qcril.db
allow rild vendor_file:file { lock ioctl };
# TODO(b/36644492): Remove data_between_core_and_vendor_violators once
# rild no longer directly accesses the radio app's data type.
typeattribute rild data_between_core_and_vendor_violators;
# allow rild to access radio data file
allow rild radio_data_file:dir rw_dir_perms;
allow rild radio_data_file:file create_file_perms;
# In order to be able to use system()
typeattribute rild vendor_executes_system_violators;
allow rild shell_exec:file rx_file_perms;
allow rild vendor_shell_exec:file rx_file_perms;
# TODO(b/36613472): Remove this once system_server, mediaserver, bluetooth, and radio no longer
# communicate with rild over sockets.
typeattribute rild socket_between_core_and_vendor_violators;
# Allow vendor native process to read the proc file of xy_qtaguid
allow rild proc_qtaguid_stat:file r_file_perms;