зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1622728 - Allow file seals in content process sandbox policy, for Wayland. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D68664 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
aecdf7eb30
Коммит
c5f7ab0639
|
@ -70,6 +70,20 @@ using namespace sandbox::bpf_dsl;
|
||||||
// actual value because it shows up in file flags.
|
// actual value because it shows up in file flags.
|
||||||
#define O_LARGEFILE_REAL 00100000
|
#define O_LARGEFILE_REAL 00100000
|
||||||
|
|
||||||
|
#ifndef F_LINUX_SPECIFIC_BASE
|
||||||
|
# define F_LINUX_SPECIFIC_BASE 1024
|
||||||
|
#else
|
||||||
|
static_assert(F_LINUX_SPECIFIC_BASE == 1024);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef F_ADD_SEALS
|
||||||
|
# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
|
||||||
|
# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
|
||||||
|
#else
|
||||||
|
static_assert(F_ADD_SEALS == (F_LINUX_SPECIFIC_BASE + 9));
|
||||||
|
static_assert(F_GET_SEALS == (F_LINUX_SPECIFIC_BASE + 10));
|
||||||
|
#endif
|
||||||
|
|
||||||
// To avoid visual confusion between "ifdef ANDROID" and "ifndef ANDROID":
|
// To avoid visual confusion between "ifdef ANDROID" and "ifndef ANDROID":
|
||||||
#ifndef ANDROID
|
#ifndef ANDROID
|
||||||
# define DESKTOP
|
# define DESKTOP
|
||||||
|
@ -1118,6 +1132,9 @@ class ContentSandboxPolicy : public SandboxPolicyCommon {
|
||||||
#ifdef F_SETLKW64
|
#ifdef F_SETLKW64
|
||||||
.Case(F_SETLKW64, Allow())
|
.Case(F_SETLKW64, Allow())
|
||||||
#endif
|
#endif
|
||||||
|
// Wayland client libraries use file seals
|
||||||
|
.Case(F_ADD_SEALS, Allow())
|
||||||
|
.Case(F_GET_SEALS, Allow())
|
||||||
.Default(SandboxPolicyCommon::EvaluateSyscall(sysno));
|
.Default(SandboxPolicyCommon::EvaluateSyscall(sysno));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче