diff options
Diffstat (limited to 'init/subcontext.cpp')
-rw-r--r-- | init/subcontext.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/init/subcontext.cpp b/init/subcontext.cpp index c1846f76db..9c0c0bb4f0 100644 --- a/init/subcontext.cpp +++ b/init/subcontext.cpp @@ -30,6 +30,8 @@ #include "util.h" #if defined(__ANDROID__) +#include <android-base/properties.h> + #include "property_service.h" #include "selinux.h" #else @@ -37,6 +39,7 @@ #endif using android::base::GetExecutablePath; +using android::base::GetIntProperty; using android::base::Join; using android::base::Socketpair; using android::base::Split; @@ -354,8 +357,10 @@ Result<std::vector<std::string>> Subcontext::ExpandArgs(const std::vector<std::s static std::vector<Subcontext> subcontexts; std::vector<Subcontext>* InitializeSubcontexts() { - for (const auto& [path_prefix, secontext] : paths_and_secontexts) { - subcontexts.emplace_back(path_prefix, secontext); + if (GetIntProperty("ro.vndk.version", 28) >= 28) { + for (const auto& [path_prefix, secontext] : paths_and_secontexts) { + subcontexts.emplace_back(path_prefix, secontext); + } } return &subcontexts; } |