1typeattribute hwservicemanager coredomain; 2 3init_daemon_domain(hwservicemanager) 4 5add_hwservice(hwservicemanager, hidl_manager_hwservice) 6add_hwservice(hwservicemanager, hidl_token_hwservice) 7 8set_prop(hwservicemanager, ctl_interface_start_prop) 9set_prop(hwservicemanager, hwservicemanager_prop) 10 11# hwservicemanager is using bootstrap bionic 12use_bootstrap_libs(hwservicemanager) 13 14# hwservicemanager is using apex_info via libvintf 15use_apex_info(hwservicemanager) 16 17# Note that we do not use the binder_* macros here. 18# hwservicemanager provides name service (aka context manager) 19# for hwbinder. 20# Additionally, it initiates binder IPC calls to 21# clients who request service notifications. The permission 22# to do this is granted in the hwbinder_use macro. 23allow hwservicemanager self:binder set_context_mgr; 24 25# Scan through /system/lib64/hw looking for installed HALs 26allow hwservicemanager system_file:dir r_dir_perms; 27 28# Read hwservice_contexts 29allow hwservicemanager hwservice_contexts_file:file r_file_perms; 30 31# Check SELinux permissions. 32selinux_check_access(hwservicemanager) 33