| Index: sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
| diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
| index c5df60627bcf30e73e4a798c4d6aa65dacf9ea90..2fa0e93c1f0837e1c1c28d3f436aec61eee62236 100644
|
| --- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
| +++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include <sched.h>
|
| #include <signal.h>
|
| #include <string.h>
|
| +#include <sys/prctl.h>
|
| #include <sys/socket.h>
|
| #include <sys/stat.h>
|
| #include <sys/syscall.h>
|
| @@ -262,6 +263,26 @@ BPF_DEATH_TEST_C(BaselinePolicy,
|
| }
|
| #endif // !defined(OS_ANDROID)
|
|
|
| +BPF_TEST_C(BaselinePolicy, PrctlDumpable, BaselinePolicy) {
|
| + const int is_dumpable = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0);
|
| + BPF_ASSERT(is_dumpable == 1 || is_dumpable == 0);
|
| + const int prctl_ret = prctl(PR_SET_DUMPABLE, is_dumpable, 0, 0, 0, 0);
|
| + BPF_ASSERT_EQ(0, prctl_ret);
|
| +}
|
| +
|
| +// Workaround incomplete Android headers.
|
| +#if !defined(PR_CAPBSET_READ)
|
| +#define PR_CAPBSET_READ 23
|
| +#endif
|
| +
|
| +BPF_DEATH_TEST_C(BaselinePolicy,
|
| + PrctlSigsys,
|
| + DEATH_MESSAGE(GetPrctlErrorMessageContentForTests()),
|
| + BaselinePolicy) {
|
| + prctl(PR_CAPBSET_READ, 0, 0, 0, 0);
|
| + _exit(1);
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace sandbox
|
|
|