Commit b53755f4 authored by jln's avatar jln Committed by Commit bot

Enable futex tests on Android.

Also fix the type of death messages expected in these tests.

BUG=398611

Review URL: https://codereview.chromium.org/563913002

Cr-Commit-Position: refs/heads/master@{#294497}
parent f3fd0560
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "sandbox/linux/seccomp-bpf/bpf_tests.h" #include "sandbox/linux/seccomp-bpf/bpf_tests.h"
#include "sandbox/linux/seccomp-bpf/sandbox_bpf.h" #include "sandbox/linux/seccomp-bpf/sandbox_bpf.h"
#include "sandbox/linux/seccomp-bpf/syscall.h" #include "sandbox/linux/seccomp-bpf/syscall.h"
#include "sandbox/linux/services/android_futex.h"
#include "sandbox/linux/services/linux_syscalls.h" #include "sandbox/linux/services/linux_syscalls.h"
#include "sandbox/linux/services/thread_helpers.h" #include "sandbox/linux/services/thread_helpers.h"
#include "sandbox/linux/tests/unit_tests.h" #include "sandbox/linux/tests/unit_tests.h"
...@@ -256,10 +257,9 @@ TEST_BASELINE_SIGSYS(__NR_inotify_init); ...@@ -256,10 +257,9 @@ TEST_BASELINE_SIGSYS(__NR_inotify_init);
TEST_BASELINE_SIGSYS(__NR_vserver); TEST_BASELINE_SIGSYS(__NR_vserver);
#endif #endif
#if !defined(OS_ANDROID)
BPF_DEATH_TEST_C(BaselinePolicy, BPF_DEATH_TEST_C(BaselinePolicy,
FutexWithRequeuePriorityInheritence, FutexWithRequeuePriorityInheritence,
DEATH_MESSAGE(GetFutexErrorMessageContentForTests()), DEATH_SEGV_MESSAGE(GetFutexErrorMessageContentForTests()),
BaselinePolicy) { BaselinePolicy) {
syscall(__NR_futex, NULL, FUTEX_CMP_REQUEUE_PI, 0, NULL, NULL, 0); syscall(__NR_futex, NULL, FUTEX_CMP_REQUEUE_PI, 0, NULL, NULL, 0);
_exit(1); _exit(1);
...@@ -267,7 +267,7 @@ BPF_DEATH_TEST_C(BaselinePolicy, ...@@ -267,7 +267,7 @@ BPF_DEATH_TEST_C(BaselinePolicy,
BPF_DEATH_TEST_C(BaselinePolicy, BPF_DEATH_TEST_C(BaselinePolicy,
FutexWithRequeuePriorityInheritencePrivate, FutexWithRequeuePriorityInheritencePrivate,
DEATH_MESSAGE(GetFutexErrorMessageContentForTests()), DEATH_SEGV_MESSAGE(GetFutexErrorMessageContentForTests()),
BaselinePolicy) { BaselinePolicy) {
syscall(__NR_futex, NULL, FUTEX_CMP_REQUEUE_PI_PRIVATE, 0, NULL, NULL, 0); syscall(__NR_futex, NULL, FUTEX_CMP_REQUEUE_PI_PRIVATE, 0, NULL, NULL, 0);
_exit(1); _exit(1);
...@@ -275,12 +275,11 @@ BPF_DEATH_TEST_C(BaselinePolicy, ...@@ -275,12 +275,11 @@ BPF_DEATH_TEST_C(BaselinePolicy,
BPF_DEATH_TEST_C(BaselinePolicy, BPF_DEATH_TEST_C(BaselinePolicy,
FutexWithUnlockPIPrivate, FutexWithUnlockPIPrivate,
DEATH_MESSAGE(GetFutexErrorMessageContentForTests()), DEATH_SEGV_MESSAGE(GetFutexErrorMessageContentForTests()),
BaselinePolicy) { BaselinePolicy) {
syscall(__NR_futex, NULL, FUTEX_UNLOCK_PI_PRIVATE, 0, NULL, NULL, 0); syscall(__NR_futex, NULL, FUTEX_UNLOCK_PI_PRIVATE, 0, NULL, NULL, 0);
_exit(1); _exit(1);
} }
#endif // !defined(OS_ANDROID)
BPF_TEST_C(BaselinePolicy, PrctlDumpable, BaselinePolicy) { BPF_TEST_C(BaselinePolicy, PrctlDumpable, BaselinePolicy) {
const int is_dumpable = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0); const int is_dumpable = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0);
......
...@@ -69,4 +69,12 @@ ...@@ -69,4 +69,12 @@
#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME) #define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
#endif #endif
#if !defined(FUTEX_CMP_REQUEUE_PI_PRIVATE)
#define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
#endif
#if !defined(FUTEX_UNLOCK_PI_PRIVATE)
#define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)
#endif
#endif // SANDBOX_LINUX_SERVICES_ANDROID_FUTEX_H_ #endif // SANDBOX_LINUX_SERVICES_ANDROID_FUTEX_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment