Index: sandbox/linux/seccomp-bpf/syscall_unittest.cc |
diff --git a/sandbox/linux/seccomp-bpf/syscall_unittest.cc b/sandbox/linux/seccomp-bpf/syscall_unittest.cc |
index bdeee4fe2da77cf87cbda1d980787e52f3ee93b7..3c946e24284982ab7222758ac8efa501d23d6f4e 100644 |
--- a/sandbox/linux/seccomp-bpf/syscall_unittest.cc |
+++ b/sandbox/linux/seccomp-bpf/syscall_unittest.cc |
@@ -13,6 +13,7 @@ |
#include "base/basictypes.h" |
#include "base/posix/eintr_wrapper.h" |
#include "sandbox/linux/seccomp-bpf/bpf_tests.h" |
+#include "sandbox/linux/seccomp-bpf/kernel_return_value_helpers.h" |
#include "sandbox/linux/seccomp-bpf/sandbox_bpf.h" |
#include "sandbox/linux/seccomp-bpf/syscall.h" |
#include "sandbox/linux/tests/unit_tests.h" |
@@ -50,6 +51,9 @@ TEST(Syscall, WellKnownEntryPoint) { |
#else |
EXPECT_EQ(0xEF000000u, ((uint32_t*)SandboxSyscall(-1))[-1]); // SVC 0 |
#endif |
+#elif defined(__mips__) |
+ // Opcode for MIPS sycall is in the lower 16-bits |
+ EXPECT_EQ(0x0cu, (((uint32_t *)SandboxSyscall(-1))[-1])&0x0000FFFF); |
#else |
#warning Incomplete test case; need port for target platform |
#endif |
@@ -75,7 +79,7 @@ intptr_t CopySyscallArgsToAux(const struct arch_seccomp_data& args, void* aux) { |
static_cast<std::vector<uint64_t>*>(aux); |
BPF_ASSERT(arraysize(args.args) == 6); |
seen_syscall_args->assign(args.args, args.args + arraysize(args.args)); |
- return -ENOMEM; |
+ return ErrnoToKernelRet(ENOMEM); |
} |
ErrorCode CopyAllArgsOnUnamePolicy(SandboxBPF* sandbox, |
@@ -115,7 +119,7 @@ BPF_TEST(Syscall, |
syscall_args[2], |
syscall_args[3], |
syscall_args[4], |
- syscall_args[5]) == -ENOMEM); |
+ syscall_args[5]) == ErrnoToKernelRet(ENOMEM)); |
// We expect the trap handler to have copied the 6 arguments. |
BPF_ASSERT(BPF_AUX->size() == 6); |