Index: content/zygote/zygote_linux.cc |
diff --git a/content/zygote/zygote_linux.cc b/content/zygote/zygote_linux.cc |
index 4b83444929b4807b2414a4d0b0ba9e4b572ae923..4146f92af4dff9d279166fd42c90fbba0b7f2e87 100644 |
--- a/content/zygote/zygote_linux.cc |
+++ b/content/zygote/zygote_linux.cc |
@@ -20,6 +20,7 @@ |
#include "base/posix/global_descriptors.h" |
#include "base/posix/unix_domain_socket_linux.h" |
#include "base/process/kill.h" |
+#include "content/common/child_process_sandbox_support_impl_linux.h" |
#include "content/common/sandbox_linux.h" |
#include "content/common/set_process_title.h" |
#include "content/common/zygote_commands_linux.h" |
@@ -42,8 +43,6 @@ void SIGCHLDHandler(int signal) { |
} // namespace |
-const int Zygote::kMagicSandboxIPCDescriptor; |
- |
Zygote::Zygote(int sandbox_flags, |
ZygoteForkDelegate* helper) |
: sandbox_flags_(sandbox_flags), |
@@ -77,7 +76,7 @@ bool Zygote::ProcessRequests() { |
// Let the ZygoteHost know we are ready to go. |
// The receiving code is in content/browser/zygote_host_linux.cc. |
std::vector<int> empty; |
- bool r = UnixDomainSocket::SendMsg(kBrowserDescriptor, |
+ bool r = UnixDomainSocket::SendMsg(kZygoteSocketPairFd, |
kZygoteHelloMessage, |
sizeof(kZygoteHelloMessage), empty); |
#if defined(OS_CHROMEOS) |
@@ -94,7 +93,7 @@ bool Zygote::ProcessRequests() { |
for (;;) { |
// This function call can return multiple times, once per fork(). |
- if (HandleRequestFromBrowser(kBrowserDescriptor)) |
+ if (HandleRequestFromBrowser(kZygoteSocketPairFd)) |
return true; |
} |
} |
@@ -363,7 +362,7 @@ int Zygote::ForkWithRealPid(const std::string& process_type, |
request.WriteUInt64(dummy_inode); |
const ssize_t r = UnixDomainSocket::SendRecvMsg( |
- kMagicSandboxIPCDescriptor, reply_buf, sizeof(reply_buf), NULL, |
+ GetSandboxFD(), reply_buf, sizeof(reply_buf), NULL, |
request); |
if (r == -1) { |
LOG(ERROR) << "Failed to get child process's real PID"; |
@@ -466,7 +465,7 @@ base::ProcessId Zygote::ReadArgsAndFork(const Pickle& pickle, |
} |
mapping.push_back(std::make_pair( |
- static_cast<uint32_t>(kSandboxIPCChannel), kMagicSandboxIPCDescriptor)); |
+ static_cast<uint32_t>(kSandboxIPCChannel), GetSandboxFD())); |
// Returns twice, once per process. |
base::ProcessId child_pid = ForkWithRealPid(process_type, fds, channel_id, |
@@ -475,7 +474,7 @@ base::ProcessId Zygote::ReadArgsAndFork(const Pickle& pickle, |
if (!child_pid) { |
// This is the child process. |
- close(kBrowserDescriptor); // Our socket from the browser. |
+ close(kZygoteSocketPairFd); // Our socket from the browser. |
if (UsingSUIDSandbox()) |
close(kZygoteIdFd); // Another socket from the browser. |
base::GlobalDescriptors::GetInstance()->Reset(mapping); |