From 3507678d2e78cb19fa4a1df21cf034fcbfa9a7f7 Mon Sep 17 00:00:00 2001 From: Tri Vo Date: Fri, 21 Dec 2018 10:46:45 -0800 Subject: [PATCH] Separate product_seapp_contexts out of system sepolicy. Bug: 119305624 Test: normal/recovery boot aosp_taimen Change-Id: Ia8d69be16011db8dd63fa41672449a4ade7302c2 --- Android.mk | 27 +++++++++++++++++++++++++-- private/file_contexts | 1 + 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Android.mk b/Android.mk index cad4d37b0..a17cc50f3 100644 --- a/Android.mk +++ b/Android.mk @@ -288,6 +288,7 @@ LOCAL_REQUIRED_MODULES += \ product_file_contexts \ product_hwservice_contexts \ product_property_contexts \ + product_seapp_contexts \ endif include $(BUILD_PHONY_PACKAGE) @@ -1198,8 +1199,7 @@ endif include $(BUILD_SYSTEM)/base_rules.mk -# TODO(b/119305624): Move product-specific sepolicy out of plat_seapp_contexts -plat_sc_files := $(call build_policy, seapp_contexts, $(PLAT_PRIVATE_POLICY) $(PRODUCT_PRIVATE_POLICY)) +plat_sc_files := $(call build_policy, seapp_contexts, $(PLAT_PRIVATE_POLICY)) $(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy) $(LOCAL_BUILT_MODULE): PRIVATE_SC_FILES := $(plat_sc_files) @@ -1210,6 +1210,29 @@ $(LOCAL_BUILT_MODULE): $(built_sepolicy) $(plat_sc_files) $(HOST_OUT_EXECUTABLES built_plat_sc := $(LOCAL_BUILT_MODULE) plat_sc_files := +################################## +include $(CLEAR_VARS) +LOCAL_MODULE := product_seapp_contexts +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc/selinux + +include $(BUILD_SYSTEM)/base_rules.mk + +product_sc_files := $(call build_policy, seapp_contexts, $(PRODUCT_PRIVATE_POLICY)) +plat_sc_neverallow_files := $(call build_policy, seapp_contexts, $(PLAT_PRIVATE_POLICY)) + +$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy) +$(LOCAL_BUILT_MODULE): PRIVATE_SC_FILES := $(product_sc_files) +$(LOCAL_BUILT_MODULE): PRIVATE_SC_NEVERALLOW_FILES := $(plat_sc_neverallow_files) +$(LOCAL_BUILT_MODULE): $(built_sepolicy) $(product_sc_files) $(HOST_OUT_EXECUTABLES)/checkseapp $(plat_sc_neverallow_files) + @mkdir -p $(dir $@) + $(hide) grep -ihe '^neverallow' $(PRIVATE_SC_NEVERALLOW_FILES) > $@.tmp + $(hide) $(HOST_OUT_EXECUTABLES)/checkseapp -p $(PRIVATE_SEPOLICY) -o $@ $(PRIVATE_SC_FILES) $@.tmp + +product_sc_files := +plat_sc_neverallow_files := + ################################## include $(CLEAR_VARS) LOCAL_MODULE := vendor_seapp_contexts diff --git a/private/file_contexts b/private/file_contexts index 7de18ffa6..d0936e934 100644 --- a/private/file_contexts +++ b/private/file_contexts @@ -377,6 +377,7 @@ /(product|system/product)/etc/selinux/product_file_contexts u:object_r:file_contexts_file:s0 /(product|system/product)/etc/selinux/product_hwservice_contexts u:object_r:hwservice_contexts_file:s0 /(product|system/product)/etc/selinux/product_property_contexts u:object_r:property_contexts_file:s0 +/(product|system/product)/etc/selinux/product_seapp_contexts u:object_r:seapp_contexts_file:s0 ############################# # Product-Services files