Skip to content
Snippets Groups Projects
Commit 9147a238 authored by Glen Kuhne's avatar Glen Kuhne Committed by Steven Moreland
Browse files

hwbinder_use: allow for hwservicemanager callbacks.

In order for hal clients to use IServiceManager::registerForNotifications,
the hwservicemanager needs to be able to call into client processes.

Test: WIP
Bug: 33383725
Change-Id: I59470e9cd5cbeafda010fedc0b91eeb41280e0a1
parent 62f0b8ea
No related branches found
No related tags found
No related merge requests found
...@@ -3,13 +3,12 @@ type hwservicemanager, domain, mlstrustedsubject; ...@@ -3,13 +3,12 @@ type hwservicemanager, domain, mlstrustedsubject;
type hwservicemanager_exec, exec_type, file_type; type hwservicemanager_exec, exec_type, file_type;
# Note that we do not use the binder_* macros here. # Note that we do not use the binder_* macros here.
# hwservicemanager only provides name service (aka context manager) # hwservicemanager provides name service (aka context manager)
# for Binder. # for hwbinder.
# As such, it only ever receives and transfers other references # Additionally, it initiates binder IPC calls to
# created by other domains. It never passes its own references # clients who request service notifications. The permission
# or initiates a Binder IPC. # to do this is granted in the hwbinder_use macro.
allow hwservicemanager self:binder set_context_mgr; allow hwservicemanager self:binder set_context_mgr;
allow hwservicemanager { domain -init }:binder transfer;
set_prop(hwservicemanager, hwservicemanager_prop) set_prop(hwservicemanager, hwservicemanager_prop)
......
...@@ -192,6 +192,8 @@ allow servicemanager $1:process getattr; ...@@ -192,6 +192,8 @@ allow servicemanager $1:process getattr;
define(`hwbinder_use', ` define(`hwbinder_use', `
# Call the hwservicemanager and transfer references to it. # Call the hwservicemanager and transfer references to it.
allow $1 hwservicemanager:binder { call transfer }; allow $1 hwservicemanager:binder { call transfer };
# Allow hwservicemanager to send out callbacks
allow hwservicemanager $1:binder { call transfer };
# hwservicemanager performs getpidcon on clients. # hwservicemanager performs getpidcon on clients.
allow hwservicemanager $1:dir search; allow hwservicemanager $1:dir search;
allow hwservicemanager $1:file { read open }; allow hwservicemanager $1:file { read open };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment