Merge "Support loading system_ext_property_contexts" am: b0f90aa702 am: f6a54f9817 am: f2db52f99b
am: 65f204906d
Change-Id: Ia33808481c24b8a8dc8483f95c4541ffc4cc700f
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);