Alex Klyubin | f5446eb | 2017-03-23 14:27:32 -0700 | [diff] [blame] | 1 | typeattribute hwservicemanager coredomain; |
| 2 | |
dcashman | cc39f63 | 2016-07-22 13:13:11 -0700 | [diff] [blame] | 3 | init_daemon_domain(hwservicemanager) |
Alex Klyubin | 53656c1 | 2017-04-13 19:05:27 -0700 | [diff] [blame] | 4 | |
| 5 | add_hwservice(hwservicemanager, hidl_manager_hwservice) |
| 6 | add_hwservice(hwservicemanager, hidl_token_hwservice) |
Steven Moreland | 13c3946 | 2017-10-05 18:49:23 -0700 | [diff] [blame] | 7 | |
Tom Cherry | 7b8be35 | 2018-05-03 17:00:16 -0700 | [diff] [blame] | 8 | set_prop(hwservicemanager, ctl_interface_start_prop) |
Inseob Kim | 55e5c9b | 2020-03-04 17:20:35 +0900 | [diff] [blame] | 9 | set_prop(hwservicemanager, hwservicemanager_prop) |
Jooyung Han | 133ca4e | 2022-07-14 11:31:03 +0900 | [diff] [blame] | 10 | |
| 11 | # hwservicemanager is using bootstrap bionic |
| 12 | use_bootstrap_libs(hwservicemanager) |
Rob Seymour | ecbadbb | 2022-07-28 16:23:42 +0000 | [diff] [blame] | 13 | |
| 14 | # hwservicemanager is using apex_info via libvintf |
| 15 | use_apex_info(hwservicemanager) |
Inseob Kim | 75806ef | 2024-03-27 17:18:41 +0900 | [diff] [blame] | 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. |
| 23 | allow hwservicemanager self:binder set_context_mgr; |
| 24 | |
| 25 | # Scan through /system/lib64/hw looking for installed HALs |
| 26 | allow hwservicemanager system_file:dir r_dir_perms; |
| 27 | |
| 28 | # Read hwservice_contexts |
| 29 | allow hwservicemanager hwservice_contexts_file:file r_file_perms; |
| 30 | |
| 31 | # Check SELinux permissions. |
| 32 | selinux_check_access(hwservicemanager) |