7f46899463
In my commitf41d89eb24
I forgot to switch rild and gatekeeperd rules from explicitly associating these domains with the hal_telephony and hal_gatekeeper to using the hal_impl_domain macro. As a result, the recent commita25192262b
inadvertently revoked HwBinder access from rild and gatekeeperd. This commit fixes the issue by switching rild and gatekeeperd to the hal_impl_domain macro. Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute haldomain" now lists rild and gatekeeperd Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_telephony" still lists rild Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_gatekeeper" still lists gatekeeperd Bug: 34180936 Bug: 34470443 Change-Id: I7949556f58c36811205d5ea3ee78ea5708e95b45
36 lines
1.1 KiB
Text
36 lines
1.1 KiB
Text
type gatekeeperd, domain;
|
|
# normally uses HAL; implements HAL in pass-through mode only
|
|
hal_impl_domain(gatekeeperd, hal_gatekeeper)
|
|
type gatekeeperd_exec, exec_type, file_type;
|
|
|
|
# gatekeeperd
|
|
binder_service(gatekeeperd)
|
|
binder_use(gatekeeperd)
|
|
|
|
# need to find KeyStore and add self
|
|
allow gatekeeperd gatekeeper_service:service_manager { add find };
|
|
|
|
# Scan through /system/lib64/hw looking for installed HALs
|
|
allow gatekeeperd system_file:dir r_dir_perms;
|
|
|
|
# Need to add auth tokens to KeyStore
|
|
use_keystore(gatekeeperd)
|
|
allow gatekeeperd keystore:keystore_key { add_auth };
|
|
|
|
# For permissions checking
|
|
allow gatekeeperd system_server:binder call;
|
|
allow gatekeeperd permission_service:service_manager find;
|
|
|
|
# For parent user ID lookup
|
|
allow gatekeeperd user_service:service_manager find;
|
|
|
|
# for SID file access
|
|
allow gatekeeperd gatekeeper_data_file:dir rw_dir_perms;
|
|
allow gatekeeperd gatekeeper_data_file:file create_file_perms;
|
|
|
|
# For hardware properties retrieval
|
|
allow gatekeeperd hardware_properties_service:service_manager find;
|
|
|
|
r_dir_file(gatekeeperd, cgroup)
|
|
|
|
neverallow { domain -gatekeeperd } gatekeeper_service:service_manager add;
|