| get_prop(radio, ims_prop) |
| typeattribute radio system_writes_vendor_properties_violators; |
| |
| allow radio qmuxd_socket:dir search; |
| allow radio qmuxd_socket:sock_file write; |
| |
| allow radio vendor_file:lnk_file r_file_perms; |
| allow radio vendor_framework_file:file r_file_perms; |
| allow radio vendor_framework_file:dir search; |
| |
| hwbinder_use(radio) |
| allow radio vnd_ims_radio_hwservice:hwservice_manager find; |
| allow radio vnd_qcrilhook_hwservice:hwservice_manager find; |
| allow radio hal_imsrtp_hwservice:hwservice_manager find; |
| |
| allow radio { |
| mediaextractor_service |
| }:service_manager find; |
| |
| r_dir_file(radio, sysfs_msm_subsys) |
| |
| # IMS needs permission to use avtimer |
| allow radio avtimer_device:chr_file r_file_perms; |
| |
| binder_call(radio, hal_imsrtp) |
| |
| userdebug_or_eng(` |
| allow radio diag_device:chr_file rw_file_perms; |
| r_dir_file(radio, sysfs_diag) |
| allow radio sysfs_timestamp_switch:file r_file_perms; |
| ') |
| dontaudit radio diag_device:chr_file rw_file_perms; |
| dontaudit radio sysfs_diag:dir search; |
| |
| # read /proc/cmdline |
| allow radio proc_cmdline:file r_file_perms; |
| |
| get_prop(radio, vendor_radio_prop) |