summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Hong <rurumihong@google.com>2021-04-28 17:26:27 +0800
committerChihYao Chien <ccchien@google.com>2021-05-13 02:27:28 +0000
commitd06ed62998849680246f5c39b60e9003499c3d23 (patch)
tree2e21923c19ca57915c71a60754965bddee6d548b
parent84283a8ffe44f42e0005b853e291479b1c9674fb (diff)
downloadredbull-sepolicy-d06ed62998849680246f5c39b60e9003499c3d23.tar.gz
Allow hal_rcsservice and qtelephony to get HAL services
"vendor.qti.hardware.radio.ims.IImsRadio/default" is not currently used. Label it and grant the permission first for the future AU integrations. The following denials are from the AU108 drop. avc: denied { find } for interface=android.hidl.manager::IServiceManager sid=u:r:hal_rcsservice:s0 pid=1262 scontext=u:r:hal_rcsservice:s0 tcontext=u:object_r:hidl_manager_hwservice:s0 tclass=hwservice_manager permissive=0 avc: denied { find } for pid=2718 uid=10252 name=vendor.qti.hardware.radio.ims.IImsRadio/default scontext=u:r:qtelephony:s0:c252,c256,c512,c768 tcontext=u:object_r:default_android_service:s0 tclass=service_manager permissive=0 Test: $ make selinux_policy Push SELinux modules into the device, check the denials during boot. Bug: 185954927 Change-Id: I75d2c4c990ebd0a55f2dc641de6b8c62be01e655
-rw-r--r--vendor/qcom/common/hal_rcsservice.te2
-rw-r--r--vendor/qcom/common/qtelephony.te1
-rw-r--r--vendor/qcom/common/service.te1
-rw-r--r--vendor/qcom/common/service_contexts1
4 files changed, 5 insertions, 0 deletions
diff --git a/vendor/qcom/common/hal_rcsservice.te b/vendor/qcom/common/hal_rcsservice.te
index ff3038b..c825745 100644
--- a/vendor/qcom/common/hal_rcsservice.te
+++ b/vendor/qcom/common/hal_rcsservice.te
@@ -7,6 +7,8 @@ net_domain(hal_rcsservice)
# To register imsrcsd to hwBinder
hwbinder_use(hal_rcsservice)
+allow hal_rcsservice hidl_manager_hwservice:hwservice_manager find;
+
# add IUceSerive and IService to Hidl interface
add_hwservice(hal_rcsservice, hal_imsrcsd_hwservice)
add_hwservice(hal_rcsservice, hal_imscallinfo_hwservice)
diff --git a/vendor/qcom/common/qtelephony.te b/vendor/qcom/common/qtelephony.te
index a1cad86..c93440a 100644
--- a/vendor/qcom/common/qtelephony.te
+++ b/vendor/qcom/common/qtelephony.te
@@ -6,6 +6,7 @@ add_hwservice(qtelephony, vnd_atcmdfwd_hwservice)
allow qtelephony app_api_service:service_manager find;
allow qtelephony hal_imsrtp_hwservice:hwservice_manager find;
+allow qtelephony hal_telephony_service:service_manager find;
allow qtelephony radio_service:service_manager find;
allow qtelephony sysfs_diag:dir search;
allow qtelephony sysfs_timestamp_switch:file r_file_perms;
diff --git a/vendor/qcom/common/service.te b/vendor/qcom/common/service.te
index e69de29..f104da7 100644
--- a/vendor/qcom/common/service.te
+++ b/vendor/qcom/common/service.te
@@ -0,0 +1 @@
+type hal_telephony_service, service_manager_type, vendor_service;
diff --git a/vendor/qcom/common/service_contexts b/vendor/qcom/common/service_contexts
new file mode 100644
index 0000000..405f768
--- /dev/null
+++ b/vendor/qcom/common/service_contexts
@@ -0,0 +1 @@
+vendor.qti.hardware.radio.ims.IImsRadio/default u:object_r:hal_telephony_service:s0