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)

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;

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;
')
