Merge "Support loading system_ext_property_contexts" am: b0f90aa702
am: f6a54f9817
Change-Id: Ifb4e8076c9d8bbdc8483649650ebbe5ba3ee42df
diff --git a/init/property_service.cpp b/init/property_service.cpp
index f5d1143..d7e4021 100644
--- a/init/property_service.cpp
+++ b/init/property_service.cpp
@@ -963,6 +963,10 @@
// Don't check for failure here, so we always have a sane list of properties.
// E.g. In case of recovery, the vendor partition will not have mounted and we
// still need the system / platform properties to function.
+ if (access("/system_ext/etc/selinux/system_ext_property_contexts", R_OK) != -1) {
+ LoadPropertyInfoFromFile("/system_ext/etc/selinux/system_ext_property_contexts",
+ &property_infos);
+ }
if (!LoadPropertyInfoFromFile("/vendor/etc/selinux/vendor_property_contexts",
&property_infos)) {
// Fallback to nonplat_* if vendor_* doesn't exist.
@@ -980,6 +984,7 @@
if (!LoadPropertyInfoFromFile("/plat_property_contexts", &property_infos)) {
return;
}
+ LoadPropertyInfoFromFile("/system_ext_property_contexts", &property_infos);
if (!LoadPropertyInfoFromFile("/vendor_property_contexts", &property_infos)) {
// Fallback to nonplat_* if vendor_* doesn't exist.
LoadPropertyInfoFromFile("/nonplat_property_contexts", &property_infos);