From f42e08d8788056738246de50f976ced507477613 Mon Sep 17 00:00:00 2001 From: Jinguang Dong Date: Fri, 15 Feb 2019 16:56:28 +0800 Subject: [PATCH] load selinux property_contexts in /odm and /product Commit I27dd391fc06a3c78e88a65c7931c84de1699f157 make property_service no longer load selinux property_contexts by function selinux_android_prop_context_handle, So we should config /odm and /product property_contexts loading path in property_service.cpp but not in libselinux. Test: property_service can load property_contexts in /odm and /product Change-Id: Ifa94b87180c4867ecbe8dea347ad02bb37958043 --- init/property_service.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/init/property_service.cpp b/init/property_service.cpp index 46e5e126e..76638b878 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp @@ -908,6 +908,13 @@ void CreateSerializedPropertyInfo() { LoadPropertyInfoFromFile("/vendor/etc/selinux/nonplat_property_contexts", &property_infos); } + if (access("/product/etc/selinux/product_property_contexts", R_OK) != -1) { + LoadPropertyInfoFromFile("/product/etc/selinux/product_property_contexts", + &property_infos); + } + if (access("/odm/etc/selinux/odm_property_contexts", R_OK) != -1) { + LoadPropertyInfoFromFile("/odm/etc/selinux/odm_property_contexts", &property_infos); + } } else { if (!LoadPropertyInfoFromFile("/plat_property_contexts", &property_infos)) { return; @@ -916,6 +923,8 @@ void CreateSerializedPropertyInfo() { // Fallback to nonplat_* if vendor_* doesn't exist. LoadPropertyInfoFromFile("/nonplat_property_contexts", &property_infos); } + LoadPropertyInfoFromFile("/product_property_contexts", &property_infos); + LoadPropertyInfoFromFile("/odm_property_contexts", &property_infos); } auto serialized_contexts = std::string();