| typeattribute radio coredomain, mlstrustedsubject; |
| |
| app_domain(radio) |
| |
| read_runtime_log_tags(radio) |
| |
| # Property service |
| set_prop(radio, radio_control_prop) |
| set_prop(radio, radio_prop) |
| set_prop(radio, net_radio_prop) |
| set_prop(radio, telephony_status_prop) |
| set_prop(radio, radio_cdma_ecm_prop) |
| |
| # ctl interface |
| set_prop(radio, ctl_rildaemon_prop) |
| |
| # Telephony code contains time / time zone detection logic so it reads the associated properties. |
| get_prop(radio, time_prop) |
| |
| # allow telephony to access platform compat to log permission denials |
| allow radio platform_compat_service:service_manager find; |
| |
| allow radio uce_service:service_manager find; |
| |
| # Manage /data/misc/emergencynumberdb |
| allow radio emergency_data_file:dir r_dir_perms; |
| allow radio emergency_data_file:file r_file_perms; |
| |
| # allow telephony to access related cache properties |
| set_prop(radio, binder_cache_telephony_server_prop); |
| |
| # allow sending pulled atoms to statsd |
| binder_call(radio, statsd) |
| |
| net_domain(radio) |
| bluetooth_domain(radio) |
| binder_service(radio) |
| |
| # Talks to hal_telephony_server via the rild socket only for devices without full treble |
| not_full_treble(`unix_socket_connect(radio, rild, hal_telephony_server)') |
| |
| # Data file accesses. |
| allow radio radio_data_file:dir create_dir_perms; |
| allow radio radio_data_file:notdevfile_class_set create_file_perms; |
| allow radio radio_core_data_file:dir r_dir_perms; |
| allow radio radio_core_data_file:file r_file_perms; |
| |
| allow radio net_data_file:dir search; |
| allow radio net_data_file:file r_file_perms; |
| |
| add_service(radio, radio_service) |
| allow radio audioserver_service:service_manager find; |
| allow radio cameraserver_service:service_manager find; |
| allow radio drmserver_service:service_manager find; |
| allow radio mediaserver_service:service_manager find; |
| allow radio nfc_service:service_manager find; |
| allow radio app_api_service:service_manager find; |
| allow radio system_api_service:service_manager find; |
| allow radio timedetector_service:service_manager find; |
| allow radio timezonedetector_service:service_manager find; |
| |
| # Perform HwBinder IPC. |
| hwbinder_use(radio) |
| hal_client_domain(radio, hal_telephony) |
| |
| # Used by TelephonyManager |
| allow radio proc_cmdline:file r_file_perms; |
| |
| ### |
| ### Neverallow rules |
| ### |
| |
| neverallow { domain -radio -init } |
| binder_cache_telephony_server_prop:property_service set; |