Paul Lawrence | 89fa81f | 2017-02-17 10:22:03 -0800 | [diff] [blame] | 1 | // Autogenerated file - edit at your peril!! |
| 2 | |
| 3 | #include <linux/filter.h> |
| 4 | #include <errno.h> |
| 5 | |
| 6 | #include "seccomp_bpfs.h" |
Victor Hsieh | 4f02dd5 | 2017-12-20 09:19:22 -0800 | [diff] [blame] | 7 | const sock_filter x86_64_app_filter[] = { |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 8 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 0, 0, 102), |
| 9 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 157, 51, 0), |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 10 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 93, 25, 0), |
| 11 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 38, 13, 0), |
| 12 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 24, 7, 0), |
Paul Lawrence | 89fa81f | 2017-02-17 10:22:03 -0800 | [diff] [blame] | 13 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 5, 3, 0), |
| 14 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 3, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 15 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 2, 95, 94), //read|write |
| 16 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 4, 94, 93), //close |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 17 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 8, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 18 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 6, 92, 91), //fstat |
| 19 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 21, 91, 90), //lseek|mmap|mprotect|munmap|brk|rt_sigaction|rt_sigprocmask|rt_sigreturn|ioctl|pread64|pwrite64|readv|writev |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 20 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 35, 3, 0), |
| 21 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 32, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 22 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 29, 88, 87), //sched_yield|mremap|msync|mincore|madvise |
| 23 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 33, 87, 86), //dup |
| 24 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 37, 86, 85), //nanosleep|getitimer |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 25 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 72, 5, 0), |
| 26 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 58, 3, 0), |
| 27 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 44, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 28 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 43, 82, 81), //setitimer|getpid|sendfile|socket|connect |
| 29 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 57, 81, 80), //sendto|recvfrom|sendmsg|recvmsg|shutdown|bind|listen|getsockname|getpeername|socketpair|setsockopt|getsockopt|clone |
| 30 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 64, 80, 79), //vfork|execve|exit|wait4|kill|uname |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 31 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 91, 3, 0), |
| 32 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 79, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 33 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 78, 77, 76), //fcntl|flock|fsync|fdatasync|truncate|ftruncate |
| 34 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 82, 76, 75), //getcwd|chdir|fchdir |
| 35 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 92, 75, 74), //fchmod |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 36 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 120, 13, 0), |
| 37 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 112, 7, 0), |
| 38 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 104, 3, 0), |
| 39 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 95, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 40 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 94, 70, 69), //fchown |
| 41 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 103, 69, 68), //umask|gettimeofday|getrlimit|getrusage|sysinfo|times|ptrace|getuid |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 42 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 107, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 43 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 105, 67, 66), //getgid |
| 44 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 111, 66, 65), //geteuid|getegid|setpgid|getppid |
| 45 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 117, 3, 0), |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 46 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 114, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 47 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 113, 63, 62), //setsid |
| 48 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 116, 62, 61), //setregid|getgroups |
| 49 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 119, 61, 60), //setresuid|getresuid |
| 50 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 137, 5, 0), |
| 51 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 135, 3, 0), |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 52 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 124, 1, 0), |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 53 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 122, 57, 56), //getresgid|getpgid |
| 54 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 132, 56, 55), //getsid|capget|capset|rt_sigpending|rt_sigtimedwait|rt_sigqueueinfo|rt_sigsuspend|sigaltstack |
| 55 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 136, 55, 54), //personality |
| 56 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 155, 3, 0), |
| 57 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 140, 1, 0), |
| 58 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 139, 52, 51), //statfs|fstatfs |
| 59 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 153, 51, 50), //getpriority|setpriority|sched_setparam|sched_getparam|sched_setscheduler|sched_getscheduler|sched_get_priority_max|sched_get_priority_min|sched_rr_get_interval|mlock|munlock|mlockall|munlockall |
| 60 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 156, 50, 49), //pivot_root |
| 61 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 254, 25, 0), |
| 62 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 217, 13, 0), |
| 63 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 186, 7, 0), |
| 64 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 162, 3, 0), |
| 65 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 160, 1, 0), |
| 66 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 159, 44, 43), //prctl|arch_prctl |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 67 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 161, 43, 42), //setrlimit |
Victor Hsieh | e15233c | 2018-03-28 16:30:20 -0700 | [diff] [blame] | 68 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 179, 1, 0), |
| 69 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 163, 41, 40), //sync |
| 70 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 180, 40, 39), //quotactl |
| 71 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 206, 3, 0), |
| 72 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 202, 1, 0), |
| 73 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 201, 37, 36), //gettid|readahead|setxattr|lsetxattr|fsetxattr|getxattr|lgetxattr|fgetxattr|listxattr|llistxattr|flistxattr|removexattr|lremovexattr|fremovexattr|tkill |
| 74 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 205, 36, 35), //futex|sched_setaffinity|sched_getaffinity |
| 75 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 211, 35, 34), //io_setup|io_destroy|io_getevents|io_submit|io_cancel |
| 76 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 233, 5, 0), |
| 77 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 228, 3, 0), |
| 78 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 221, 1, 0), |
| 79 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 220, 31, 30), //getdents64|set_tid_address|restart_syscall |
| 80 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 227, 30, 29), //fadvise64|timer_create|timer_settime|timer_gettime|timer_getoverrun|timer_delete |
| 81 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 232, 29, 28), //clock_gettime|clock_getres|clock_nanosleep|exit_group |
| 82 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 251, 3, 0), |
| 83 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 247, 1, 0), |
| 84 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 235, 26, 25), //epoll_ctl|tgkill |
| 85 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 248, 25, 24), //waitid |
| 86 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 253, 24, 23), //ioprio_set|ioprio_get |
| 87 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 285, 11, 0), |
| 88 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 275, 5, 0), |
| 89 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 262, 3, 0), |
| 90 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 257, 1, 0), |
| 91 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 256, 19, 18), //inotify_add_watch|inotify_rm_watch |
Victor Hsieh | 2f23ced | 2018-01-17 16:59:12 -0800 | [diff] [blame] | 92 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 261, 18, 17), //openat|mkdirat|mknodat|fchownat |
| 93 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 273, 17, 16), //newfstatat|unlinkat|renameat|linkat|symlinkat|readlinkat|fchmodat|faccessat|pselect6|ppoll|unshare |
| 94 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 283, 3, 0), |
| 95 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 280, 1, 0), |
| 96 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 279, 14, 13), //splice|tee|sync_file_range|vmsplice |
| 97 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 282, 13, 12), //utimensat|epoll_pwait |
| 98 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 284, 12, 11), //timerfd_create |
| 99 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 314, 5, 0), |
| 100 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 306, 3, 0), |
| 101 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 302, 1, 0), |
| 102 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 300, 8, 7), //fallocate|timerfd_settime|timerfd_gettime|accept4|signalfd4|eventfd2|epoll_create1|dup3|pipe2|inotify_init1|preadv|pwritev|rt_tgsigqueueinfo|perf_event_open|recvmmsg |
| 103 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 303, 7, 6), //prlimit64 |
| 104 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 312, 6, 5), //syncfs|sendmmsg|setns|getcpu|process_vm_readv|process_vm_writev |
| 105 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 325, 3, 0), |
| 106 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 322, 1, 0), |
| 107 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 320, 3, 2), //sched_setattr|sched_getattr|renameat2|seccomp|getrandom|memfd_create |
Josh Gao | de9262e | 2017-04-18 16:05:39 -0700 | [diff] [blame] | 108 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 323, 2, 1), //execveat |
| 109 | BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 329, 1, 0), //mlock2|copy_file_range|preadv2|pwritev2 |
Paul Lawrence | 89fa81f | 2017-02-17 10:22:03 -0800 | [diff] [blame] | 110 | BPF_STMT(BPF_RET|BPF_K, SECCOMP_RET_ALLOW), |
| 111 | }; |
| 112 | |
Victor Hsieh | 4f02dd5 | 2017-12-20 09:19:22 -0800 | [diff] [blame] | 113 | const size_t x86_64_app_filter_size = sizeof(x86_64_app_filter) / sizeof(struct sock_filter); |