OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sandbox/linux/bpf_dsl/bpf_dsl.h" | 5 #include "sandbox/linux/bpf_dsl/bpf_dsl.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <netinet/in.h> | 8 #include <netinet/in.h> |
9 #include <sys/socket.h> | 9 #include <sys/socket.h> |
| 10 #include <sys/syscall.h> |
10 #include <sys/utsname.h> | 11 #include <sys/utsname.h> |
| 12 #include <unistd.h> |
11 | 13 |
12 #include "base/files/scoped_file.h" | 14 #include "base/files/scoped_file.h" |
13 #include "base/macros.h" | 15 #include "base/macros.h" |
14 #include "build/build_config.h" | 16 #include "build/build_config.h" |
15 #include "sandbox/linux/seccomp-bpf/bpf_tests.h" | 17 #include "sandbox/linux/seccomp-bpf/bpf_tests.h" |
16 #include "sandbox/linux/seccomp-bpf/errorcode.h" | 18 #include "sandbox/linux/seccomp-bpf/errorcode.h" |
17 #include "sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h" | |
18 #include "sandbox/linux/seccomp-bpf/syscall.h" | 19 #include "sandbox/linux/seccomp-bpf/syscall.h" |
19 | 20 |
20 #define CASES SANDBOX_BPF_DSL_CASES | 21 #define CASES SANDBOX_BPF_DSL_CASES |
21 | 22 |
22 // Helper macro to assert that invoking system call |sys| directly via | 23 // Helper macro to assert that invoking system call |sys| directly via |
23 // Syscall::Call with arguments |...| returns |res|. | 24 // Syscall::Call with arguments |...| returns |res|. |
24 // Errors can be asserted by specifying a value like "-EINVAL". | 25 // Errors can be asserted by specifying a value like "-EINVAL". |
25 #define ASSERT_SYSCALL_RESULT(res, sys, ...) \ | 26 #define ASSERT_SYSCALL_RESULT(res, sys, ...) \ |
26 BPF_ASSERT_EQ(res, Stubs::sys(__VA_ARGS__)) | 27 BPF_ASSERT_EQ(res, Stubs::sys(__VA_ARGS__)) |
27 | 28 |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 ASSERT_SYSCALL_RESULT(-EINVAL, fcntl, sock_fd.get(), F_SETFD, 0); | 322 ASSERT_SYSCALL_RESULT(-EINVAL, fcntl, sock_fd.get(), F_SETFD, 0); |
322 | 323 |
323 ASSERT_SYSCALL_RESULT(-EPERM, fcntl, sock_fd.get(), F_SETFL, O_RDONLY); | 324 ASSERT_SYSCALL_RESULT(-EPERM, fcntl, sock_fd.get(), F_SETFL, O_RDONLY); |
324 | 325 |
325 ASSERT_SYSCALL_RESULT(-EACCES, fcntl, sock_fd.get(), F_DUPFD, 0); | 326 ASSERT_SYSCALL_RESULT(-EACCES, fcntl, sock_fd.get(), F_DUPFD, 0); |
326 } | 327 } |
327 | 328 |
328 } // namespace | 329 } // namespace |
329 } // namespace bpf_dsl | 330 } // namespace bpf_dsl |
330 } // namespace sandbox | 331 } // namespace sandbox |
OLD | NEW |