diff options
author | Justin DeMartino <jjdemartino@google.com> | 2020-10-14 19:39:53 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-10-14 19:39:53 +0000 |
commit | 0d11af03e43f110b0bb160f7e20436d0043e3038 (patch) | |
tree | 48f8bcca856276ec73a86dd3fb26143d3ca64578 /init/subcontext.cpp | |
parent | 075666ebd0dee8d0c4a2efa54f7c324a3f67ee2a (diff) | |
parent | a6c01e4e98d2b343dcecfc99611e2e6250c730db (diff) |
Merge changes from topic "SP1A.200921.001" into s-keystone-qcom-dev
* changes:
fs_mgr: adb-remount-test.sh: filter out more administrivia mounts.
Merge SP1A.200921.001 Change-Id: I90b97c4e9fb10b1f45e74def404823eed5b1aaa8
Diffstat (limited to 'init/subcontext.cpp')
-rw-r--r-- | init/subcontext.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/init/subcontext.cpp b/init/subcontext.cpp index 9d4ea8cd3..dc2455e2f 100644 --- a/init/subcontext.cpp +++ b/init/subcontext.cpp @@ -30,6 +30,7 @@ #include "action.h" #include "builtins.h" +#include "mount_namespace.h" #include "proto_utils.h" #include "util.h" @@ -217,7 +218,13 @@ void Subcontext::Fork() { PLOG(FATAL) << "Could not set execcon for '" << context_ << "'"; } } - +#if defined(__ANDROID__) + // subcontext init runs in "default" mount namespace + // so that it can access /apex/* + if (auto result = SwitchToMountNamespaceIfNeeded(NS_DEFAULT); !result.ok()) { + LOG(FATAL) << "Could not switch to \"default\" mount namespace: " << result.error(); + } +#endif auto init_path = GetExecutablePath(); auto child_fd_string = std::to_string(child_fd); const char* args[] = {init_path.c_str(), "subcontext", context_.c_str(), |