Separate system_ext_hwservice_contexts out of system sepolicy.
Bug: 137712473
Test: boot crosshatch
Change-Id: Ic5774da74e200b9d7699ac2240a12e7616dc512a
diff --git a/Android.bp b/Android.bp
index 5dd8628..170e7ca 100644
--- a/Android.bp
+++ b/Android.bp
@@ -225,6 +225,12 @@
}
hwservice_contexts {
+ name: "system_ext_hwservice_contexts",
+ srcs: [":hwservice_contexts_files"],
+ system_ext_specific: true,
+}
+
+hwservice_contexts {
name: "product_hwservice_contexts",
srcs: [":hwservice_contexts_files"],
product_specific: true,
diff --git a/Android.mk b/Android.mk
index 092d568..5cb79be 100644
--- a/Android.mk
+++ b/Android.mk
@@ -316,8 +316,10 @@
system_ext_sepolicy.cil \
system_ext_file_contexts \
system_ext_file_contexts_test \
- system_ext_mapping_file \
+ system_ext_hwservice_contexts \
+ system_ext_hwservice_contexts_test \
system_ext_seapp_contexts \
+ system_ext_mapping_file \
endif
diff --git a/contexts_tests.mk b/contexts_tests.mk
index a549b3f..0073e9c 100644
--- a/contexts_tests.mk
+++ b/contexts_tests.mk
@@ -106,6 +106,17 @@
##################################
include $(CLEAR_VARS)
+LOCAL_MODULE := system_ext_hwservice_contexts_test
+LOCAL_MODULE_CLASS := FAKE
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+$(eval $(call run_contexts_test, $(system_ext_out)/system_ext_hwservice_contexts, $(checkfc), -e -l))
+
+##################################
+include $(CLEAR_VARS)
+
LOCAL_MODULE := product_hwservice_contexts_test
LOCAL_MODULE_CLASS := FAKE
LOCAL_MODULE_TAGS := optional
diff --git a/private/file_contexts b/private/file_contexts
index a6c4edd..6fa1c56 100644
--- a/private/file_contexts
+++ b/private/file_contexts
@@ -422,8 +422,9 @@
/(system_ext|system/system_ext)/etc/passwd u:object_r:system_passwd_file:s0
/(system_ext|system/system_ext)/overlay(/.*)? u:object_r:vendor_overlay_file:s0
-/(system_ext|system/system_ext)/etc/selinux/system_ext_file_contexts u:object_r:file_contexts_file:s0
-/(system_ext|system/system_ext)/etc/selinux/system_ext_seapp_contexts u:object_r:seapp_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_file_contexts u:object_r:file_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_hwservice_contexts u:object_r:hwservice_contexts_file:s0
+/(system_ext|system/system_ext)/etc/selinux/system_ext_seapp_contexts u:object_r:seapp_contexts_file:s0
#############################
# Vendor files from /(product|system/product)/vendor_overlay