summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Vander Stoep <jeffv@google.com>2019-05-06 22:26:19 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-05-06 22:26:19 +0000
commit0cd8102bbd12fc1ebe01e5efd139368936c190f9 (patch)
treeaf1efffc2b37561018d58ac51d1915b75a41a99b
parentbe9c2c03109f206ea4244962ee9863cfc123d1d0 (diff)
parent0ac51cfc0123086679ae48535057dfcf34e5ad75 (diff)
downloadcore-0cd8102bbd12fc1ebe01e5efd139368936c190f9.tar.gz
Merge "Load selinux compat file if it exists"
-rw-r--r--init/selinux.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/init/selinux.cpp b/init/selinux.cpp
index 132fc137d..c49dc9f60 100644
--- a/init/selinux.cpp
+++ b/init/selinux.cpp
@@ -331,6 +331,12 @@ bool LoadSplitPolicy() {
}
std::string plat_mapping_file("/system/etc/selinux/mapping/" + vend_plat_vers + ".cil");
+ std::string plat_compat_cil_file("/system/etc/selinux/mapping/" + vend_plat_vers +
+ ".compat.cil");
+ if (access(plat_compat_cil_file.c_str(), F_OK) == -1) {
+ plat_compat_cil_file.clear();
+ }
+
std::string product_policy_cil_file("/product/etc/selinux/product_sepolicy.cil");
if (access(product_policy_cil_file.c_str(), F_OK) == -1) {
product_policy_cil_file.clear();
@@ -376,6 +382,9 @@ bool LoadSplitPolicy() {
};
// clang-format on
+ if (!plat_compat_cil_file.empty()) {
+ compile_args.push_back(plat_compat_cil_file.c_str());
+ }
if (!product_policy_cil_file.empty()) {
compile_args.push_back(product_policy_cil_file.c_str());
}