Merge "Revert "Stop & Resume property service when switching to bootstrap namespace"" into rvc-dev

This commit is contained in:
Tom Cherry 2020-03-11 23:25:52 +00:00 committed by Android (Google) Code Review
commit 293786f941
1 changed files with 0 additions and 10 deletions

View File

@ -323,20 +323,10 @@ bool SwitchToBootstrapMountNamespaceIfNeeded() {
}
if (bootstrap_ns_id != GetMountNamespaceId() && bootstrap_ns_fd.get() != -1 &&
IsApexUpdatable()) {
// The property service thread and its descendent threads must be in the correct mount
// namespace to call Service::Start(), however setns() only operates on a single thread and
// fails when secondary threads attempt to join the same mount namespace. Therefore, we
// must join the property service thread and its descendents before the setns() call. Those
// threads are then started again after the setns() call, and they'll be in the proper
// namespace.
PausePropertyService();
if (setns(bootstrap_ns_fd.get(), CLONE_NEWNS) == -1) {
PLOG(ERROR) << "Failed to switch to bootstrap mount namespace.";
return false;
}
ResumePropertyService();
}
return true;
}