606d2fd665
Introduce the add_service() macro which wraps up add/find permissions for the source domain with a neverallow preventing others from adding it. Only a particular domain should add a particular service. Use the add_service() macro to automatically add a neverallow that prevents other domains from adding the service. mediadrmserver was adding services labeled mediaserver_service. Drop the add permission as it should just need the find permission. Additionally, the macro adds the { add find } permission which causes some existing neverallow's to assert. Adjust those neverallow's so "self" can always find. Test: compile and run on hikey and emulator. No new denials were found, and all services, where applicable, seem to be running OK. Change-Id: Ibbd2a5304edd5f8b877bc86852b0694732be993c Signed-off-by: William Roberts <william.c.roberts@intel.com>
40 lines
1.1 KiB
Text
40 lines
1.1 KiB
Text
# phone subsystem
|
|
type radio, domain, domain_deprecated, mlstrustedsubject;
|
|
|
|
net_domain(radio)
|
|
bluetooth_domain(radio)
|
|
binder_service(radio)
|
|
|
|
# Talks to rild via the rild socket.
|
|
unix_socket_connect(radio, rild, rild)
|
|
|
|
# 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 alarm_device:chr_file rw_file_perms;
|
|
|
|
allow radio net_data_file:dir search;
|
|
allow radio net_data_file:file r_file_perms;
|
|
|
|
# Property service
|
|
set_prop(radio, radio_prop)
|
|
set_prop(radio, net_radio_prop)
|
|
|
|
# ctl interface
|
|
set_prop(radio, ctl_rildaemon_prop)
|
|
|
|
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 surfaceflinger_service:service_manager find;
|
|
allow radio app_api_service:service_manager find;
|
|
allow radio system_api_service:service_manager find;
|
|
|
|
# Perform HwBinder IPC.
|
|
hwbinder_use(radio)
|
|
binder_call(radio, hal_telephony)
|
|
|