Bug 1543790 - Fix RDD sandboxing conditions so the parent and child processes agree. r=gcp

If the system doesn't support seccomp-bpf, the parent process won't
try to set up sandboxing, but the child process has a separate check that
didn't test for this, and ends up failing a release assertion (in
SandboxReporterClient, but we also release-assert that installing the
seccomp-bpf policy succeeds).

This patch just fixes the child-side conditional to match the intended
behavior, but in the long term we should consider redesigning SandboxInfo
to avoid this.

Differential Revision: https://phabricator.services.mozilla.com/D27624

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jed Davis 2019-04-16 13:53:20 +00:00
Родитель 69140d1e65
Коммит 64717a0c9f
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -652,7 +652,8 @@ void SetMediaPluginSandbox(const char* aFilePath) {
}
void SetRemoteDataDecoderSandbox(int aBroker) {
if (PR_GetEnv("MOZ_DISABLE_RDD_SANDBOX") != nullptr) {
if (!SandboxInfo::Get().Test(SandboxInfo::kHasSeccompBPF) ||
PR_GetEnv("MOZ_DISABLE_RDD_SANDBOX")) {
if (aBroker >= 0) {
close(aBroker);
}