summaryrefslogtreecommitdiffstats
path: root/sandbox
diff options
context:
space:
mode:
authorjln <jln@chromium.org>2014-09-11 16:50:08 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-12 00:19:19 +0000
commitb53755f4a85f9564400d8835ef0a7a0ada56b67f (patch)
tree83cf7a4f02caf33d42ab964e11f506fa88c33ca3 /sandbox
parentf3fd0560fa29612c3dbb563056f9c0601afb913a (diff)
downloadchromium_src-b53755f4a85f9564400d8835ef0a7a0ada56b67f.zip
chromium_src-b53755f4a85f9564400d8835ef0a7a0ada56b67f.tar.gz
chromium_src-b53755f4a85f9564400d8835ef0a7a0ada56b67f.tar.bz2
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}
Diffstat (limited to 'sandbox')
-rw-r--r--sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc9
-rw-r--r--sandbox/linux/services/android_futex.h8
2 files changed, 12 insertions, 5 deletions
diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
index f97efb8..f55df03 100644
--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
@@ -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);
diff --git a/sandbox/linux/services/android_futex.h b/sandbox/linux/services/android_futex.h
index a2be661..571f5d2 100644
--- a/sandbox/linux/services/android_futex.h
+++ b/sandbox/linux/services/android_futex.h
@@ -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_