Index: sandbox/linux/seccomp-bpf/sandbox_bpf_unittest.cc |
diff --git a/sandbox/linux/seccomp-bpf/sandbox_bpf_unittest.cc b/sandbox/linux/seccomp-bpf/sandbox_bpf_unittest.cc |
index 3b7470b4176ac10e32ea650823061b3e63c4e431..e4b70f2d28aa65b640d9aed095f5c3835dee1c56 100644 |
--- a/sandbox/linux/seccomp-bpf/sandbox_bpf_unittest.cc |
+++ b/sandbox/linux/seccomp-bpf/sandbox_bpf_unittest.cc |
@@ -11,6 +11,7 @@ |
#include <sys/types.h> |
#include <sys/utsname.h> |
#include <unistd.h> |
+#include <sys/socket.h> |
#if defined(ANDROID) |
// Work-around for buggy headers in Android's NDK |
@@ -29,6 +30,7 @@ |
#include "sandbox/linux/seccomp-bpf/trap.h" |
#include "sandbox/linux/seccomp-bpf/verifier.h" |
#include "sandbox/linux/services/broker_process.h" |
+#include "sandbox/linux/services/kernel_to_errno.h" |
#include "sandbox/linux/services/linux_syscalls.h" |
#include "sandbox/linux/tests/unit_tests.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -604,7 +606,7 @@ BPF_TEST(SandboxBPF, SigBus, RedirectAllSyscallsPolicy) { |
// more complex uses of signals where our use of the SIGBUS mask is not |
// 100% transparent. This is expected behavior. |
int fds[2]; |
- BPF_ASSERT(pipe(fds) == 0); |
+ BPF_ASSERT(socketpair(AF_UNIX, SOCK_STREAM, 0, fds) == 0); |
bus_handler_fd_ = fds[1]; |
struct sigaction sa = {}; |
sa.sa_sigaction = SigBusHandler; |
@@ -1676,7 +1678,7 @@ intptr_t PthreadTrapHandler(const struct arch_seccomp_data& args, void* aux) { |
(long long)args.args[5], |
msg); |
} |
- return -EPERM; |
+ return KernelRetToErrno(EPERM); |
jln (very slow on Chromium)
2014/05/16 19:30:17
ErrnoToKernelRet()
nedeljko
2014/05/22 17:38:55
Done.
|
} |
ErrorCode PthreadPolicyEquality(SandboxBPF* sandbox, int sysno, void* aux) { |
// This policy allows creating threads with pthread_create(). But it |
@@ -1799,7 +1801,7 @@ static void PthreadTest() { |
CLONE_CHILD_CLEARTID | CLONE_CHILD_SETTID | SIGCHLD, |
0, |
0, |
- &pid) == -EPERM); |
+ &pid) == KernelRetToErrno(EPERM)); |
} |
BPF_TEST(SandboxBPF, PthreadEquality, PthreadPolicyEquality) { PthreadTest(); } |