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 @@
#include "sandbox/linux/seccomp-bpf/bpf_tests.h"
#include "sandbox/linux/seccomp-bpf/sandbox_bpf.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/thread_helpers.h"
#include "sandbox/linux/tests/unit_tests.h"
......@@ -256,10 +257,9 @@ TEST_BASELINE_SIGSYS(__NR_inotify_init);
TEST_BASELINE_SIGSYS(__NR_vserver);
#endif
#if !defined(OS_ANDROID)
BPF_DEATH_TEST_C(BaselinePolicy,
FutexWithRequeuePriorityInheritence,
DEATH_MESSAGE(GetFutexErrorMessageContentForTests()),
DEATH_SEGV_MESSAGE(GetFutexErrorMessageContentForTests()),
BaselinePolicy) {
syscall(__NR_futex, NULL, FUTEX_CMP_REQUEUE_PI, 0, NULL, NULL, 0);
_exit(1);
......@@ -267,7 +267,7 @@ BPF_DEATH_TEST_C(BaselinePolicy,
BPF_DEATH_TEST_C(BaselinePolicy,
FutexWithRequeuePriorityInheritencePrivate,
DEATH_MESSAGE(GetFutexErrorMessageContentForTests()),
DEATH_SEGV_MESSAGE(GetFutexErrorMessageContentForTests()),
BaselinePolicy) {
syscall(__NR_futex, NULL, FUTEX_CMP_REQUEUE_PI_PRIVATE, 0, NULL, NULL, 0);
_exit(1);
......@@ -275,12 +275,11 @@ BPF_DEATH_TEST_C(BaselinePolicy,
BPF_DEATH_TEST_C(BaselinePolicy,
FutexWithUnlockPIPrivate,
DEATH_MESSAGE(GetFutexErrorMessageContentForTests()),
DEATH_SEGV_MESSAGE(GetFutexErrorMessageContentForTests()),
BaselinePolicy) {
syscall(__NR_futex, NULL, FUTEX_UNLOCK_PI_PRIVATE, 0, NULL, NULL, 0);
_exit(1);
}
#endif // !defined(OS_ANDROID)
BPF_TEST_C(BaselinePolicy, PrctlDumpable, BaselinePolicy) {
const int is_dumpable = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0);
......
......@@ -69,4 +69,12 @@
#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
#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_
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