diff options
Diffstat (limited to 'devel/electron18/files/patch-content_zygote_zygote__main__linux.cc')
-rw-r--r-- | devel/electron18/files/patch-content_zygote_zygote__main__linux.cc | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/devel/electron18/files/patch-content_zygote_zygote__main__linux.cc b/devel/electron18/files/patch-content_zygote_zygote__main__linux.cc new file mode 100644 index 000000000000..224d6f22b7c0 --- /dev/null +++ b/devel/electron18/files/patch-content_zygote_zygote__main__linux.cc @@ -0,0 +1,64 @@ +--- content/zygote/zygote_main_linux.cc.orig 2022-05-11 07:16:51 UTC ++++ content/zygote/zygote_main_linux.cc +@@ -11,7 +11,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <unistd.h> +@@ -40,7 +42,9 @@ + #include "sandbox/linux/services/thread_helpers.h" + #include "sandbox/linux/suid/client/setuid_sandbox_client.h" + #include "sandbox/policy/linux/sandbox_debug_handling_linux.h" ++#if !defined(OS_BSD) + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "sandbox/policy/sandbox.h" + #include "sandbox/policy/switches.h" + #include "third_party/icu/source/i18n/unicode/timezone.h" +@@ -49,6 +53,7 @@ namespace content { + + namespace { + ++#if !defined(OS_BSD) + void CloseFds(const std::vector<int>& fds) { + for (const auto& it : fds) { + PCHECK(0 == IGNORE_EINTR(close(it))); +@@ -66,9 +71,11 @@ base::OnceClosure ClosureFromTwoClosures(base::OnceClo + }, + std::move(one), std::move(two)); + } ++#endif + + } // namespace + ++#if !defined(OS_BSD) + // This function triggers the static and lazy construction of objects that need + // to be created before imposing the sandbox. + static void ZygotePreSandboxInit() { +@@ -173,9 +180,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand + CHECK(!using_layer1_sandbox); + } + } ++#endif + + bool ZygoteMain( + std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) { ++#if !defined(OS_BSD) + sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); + + auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); +@@ -240,6 +249,9 @@ bool ZygoteMain( + + // This function call can return multiple times, once per fork(). + return zygote.ProcessRequests(); ++#else ++ return false; ++#endif + } + + } // namespace content |