| binder_call(rild, audioserver) |
| binder_call(rild, mediaserver) |
| binder_use(rild) |
| binder_service(rild) |
| |
| # Grant access to Qualcomm MSM Interface (QMI) radio sockets to RILD |
| qmux_socket(rild) |
| |
| # whitelist qualcomm specific ioctls |
| allow rild self:socket ioctl; |
| allowxperm rild self:socket ioctl msm_sock_ipc_ioctls; |
| allowxperm rild self:udp_socket ioctl priv_sock_ioctls; |
| |
| allow rild persist_file:dir search; |
| |
| # rild needs to parse through /proc to obtain pid of netmgrd |
| r_dir_file(rild, netmgrd) |
| # b/18352920 suppress denials until the procfs lookup is removed |
| dontaudit rild domain:dir r_dir_perms; |
| |
| allow rild audioserver_service:service_manager find; |
| allow rild mediaserver_service:service_manager find; |
| allow rild per_mgr_service:service_manager find; |
| |
| allow rild time_daemon:unix_stream_socket connectto; |
| |
| # rild reads qcril.db linked to /system/etc/qcril.db |
| allow rild radio_data_file:lnk_file read; |
| |
| # 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; |
| |
| userdebug_or_eng(` |
| allow rild ssr_device:chr_file { open read }; |
| |
| allow rild sysfs_ssr:dir { open search read }; |
| allow rild sysfs_ssr:lnk_file { read open }; |
| allow rild sysfs_ssr:dir r_dir_perms; |
| allow rild sysfs_ssr:lnk_file read; |
| ') |
| |
| # allow rild to use qualcomm's socket ipc ioctls |
| allow rild self:socket ioctl; |
| allowxperm rild self:socket ioctl msm_sock_ipc_ioctls; |