1 // File autogenerated by genseccomp.pyc - edit at your peril!! 2 3 #include <linux/filter.h> 4 #include <errno.h> 5 6 #include "seccomp/seccomp_bpfs.h" 7 const sock_filter arm64_app_filter[] = { 8 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 0, 0, 66), 9 BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, 98, 64, 0), //futex 10 BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, 29, 63, 0), //ioctl 11 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 163, 31, 0), 12 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 101, 15, 0), 13 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 43, 7, 0), 14 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 30, 3, 0), 15 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 19, 1, 0), 16 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 18, 58, 57), //io_setup|io_destroy|io_submit|io_cancel|io_getevents|setxattr|lsetxattr|fsetxattr|getxattr|lgetxattr|fgetxattr|listxattr|llistxattr|flistxattr|removexattr|lremovexattr|fremovexattr|getcwd 17 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 29, 57, 56), //eventfd2|epoll_create1|epoll_ctl|epoll_pwait|dup|dup3|fcntl|inotify_init1|inotify_add_watch|inotify_rm_watch 18 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 41, 1, 0), 19 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 39, 55, 54), //ioprio_set|ioprio_get|flock|mknodat|mkdirat|unlinkat|symlinkat|linkat|renameat 20 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 42, 54, 53), //pivot_root 21 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 59, 3, 0), 22 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 52, 1, 0), 23 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 51, 51, 50), //statfs|fstatfs|truncate|ftruncate|fallocate|faccessat|chdir|fchdir 24 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 58, 50, 49), //fchmod|fchmodat|fchownat|fchown|openat|close 25 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 90, 1, 0), 26 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 89, 48, 47), //pipe2|quotactl|getdents64|lseek|read|write|readv|writev|pread64|pwrite64|preadv|pwritev|sendfile|pselect6|ppoll|signalfd4|vmsplice|splice|tee|readlinkat|newfstatat|fstat|sync|fsync|fdatasync|sync_file_range|timerfd_create|timerfd_settime|timerfd_gettime|utimensat 27 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 98, 47, 46), //capget|capset|personality|exit|exit_group|waitid|set_tid_address|unshare 28 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 147, 7, 0), 29 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 113, 3, 0), 30 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 107, 1, 0), 31 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 104, 43, 42), //nanosleep|getitimer|setitimer 32 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 112, 42, 41), //timer_create|timer_gettime|timer_getoverrun|timer_settime|timer_delete 33 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 117, 1, 0), 34 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 116, 40, 39), //clock_gettime|clock_getres|clock_nanosleep 35 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 142, 39, 38), //ptrace|sched_setparam|sched_setscheduler|sched_getscheduler|sched_getparam|sched_setaffinity|sched_getaffinity|sched_yield|sched_get_priority_max|sched_get_priority_min|sched_rr_get_interval|restart_syscall|kill|tkill|tgkill|sigaltstack|rt_sigsuspend|rt_sigaction|rt_sigprocmask|rt_sigpending|rt_sigtimedwait|rt_sigqueueinfo|rt_sigreturn|setpriority|getpriority 36 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 153, 3, 0), 37 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 150, 1, 0), 38 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 149, 36, 35), //setresuid|getresuid 39 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 151, 35, 34), //getresgid 40 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 160, 1, 0), 41 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 159, 33, 32), //times|setpgid|getpgid|getsid|setsid|getgroups 42 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 161, 32, 31), //uname 43 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 267, 15, 0), 44 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 220, 7, 0), 45 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 198, 3, 0), 46 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 172, 1, 0), 47 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 170, 27, 26), //getrlimit|setrlimit|getrusage|umask|prctl|getcpu|gettimeofday 48 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 180, 26, 25), //getpid|getppid|getuid|geteuid|getgid|getegid|gettid|sysinfo 49 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 203, 1, 0), 50 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 202, 24, 23), //socket|socketpair|bind|listen 51 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 217, 23, 22), //connect|getsockname|getpeername|sendto|recvfrom|setsockopt|getsockopt|shutdown|sendmsg|recvmsg|readahead|brk|munmap|mremap 52 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 240, 3, 0), 53 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 226, 1, 0), 54 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 224, 20, 19), //clone|execve|mmap|fadvise64 55 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 234, 19, 18), //mprotect|msync|mlock|munlock|mlockall|munlockall|mincore|madvise 56 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 260, 1, 0), 57 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 244, 17, 16), //rt_tgsigqueueinfo|perf_event_open|accept4|recvmmsg 58 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 262, 16, 15), //wait4|prlimit64 59 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 434, 7, 0), 60 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 291, 3, 0), 61 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 274, 1, 0), 62 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 272, 12, 11), //syncfs|setns|sendmmsg|process_vm_readv|process_vm_writev 63 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 288, 11, 10), //sched_setattr|sched_getattr|renameat2|seccomp|getrandom|memfd_create|bpf|execveat|userfaultfd|membarrier|mlock2|copy_file_range|preadv2|pwritev2 64 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 424, 1, 0), 65 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 292, 9, 8), //statx 66 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 425, 8, 7), //pidfd_send_signal 67 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 440, 3, 0), 68 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 438, 1, 0), 69 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 437, 5, 4), //pidfd_open|clone3|close_range 70 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 439, 4, 3), //pidfd_getfd 71 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 462, 1, 0), 72 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 442, 2, 1), //process_madvise|epoll_pwait2 73 BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 463, 1, 0), //mseal 74 BPF_STMT(BPF_RET|BPF_K, SECCOMP_RET_ALLOW), 75 }; 76 77 const size_t arm64_app_filter_size = sizeof(arm64_app_filter) / sizeof(struct sock_filter); 78