github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/executor/android/arm64_system_policy.h (about)

     1  // Copyright 2022 syzkaller project authors. All rights reserved.
     2  // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  // File autogenerated by genseccomp.py from Android U - edit at your peril!!
     5  
     6  const struct sock_filter arm64_system_filter[] = {
     7  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 0, 0, 46),
     8  BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, 98, 44, 0), //futex
     9  BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, 29, 43, 0), //ioctl
    10  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 226, 21, 0),
    11  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 101, 11, 0),
    12  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 43, 5, 0),
    13  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 30, 3, 0),
    14  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 19, 1, 0),
    15  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 18, 38, 37), //io_setup|io_destroy|io_submit|io_cancel|io_getevents|setxattr|lsetxattr|fsetxattr|getxattr|lgetxattr|fgetxattr|listxattr|llistxattr|flistxattr|removexattr|lremovexattr|fremovexattr|getcwd
    16  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 29, 37, 36), //eventfd2|epoll_create1|epoll_ctl|epoll_pwait|dup|dup3|fcntl|inotify_init1|inotify_add_watch|inotify_rm_watch
    17  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 42, 36, 35), //ioprio_set|ioprio_get|flock|mknodat|mkdirat|unlinkat|symlinkat|linkat|renameat|umount2|mount|pivot_root
    18  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 99, 3, 0),
    19  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 59, 1, 0),
    20  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 58, 33, 32), //statfs|fstatfs|truncate|ftruncate|fallocate|faccessat|chdir|fchdir|chroot|fchmod|fchmodat|fchownat|fchown|openat|close
    21  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 98, 32, 31), //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|acct|capget|capset|personality|exit|exit_group|waitid|set_tid_address|unshare
    22  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 100, 31, 30), //set_robust_list
    23  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 203, 5, 0),
    24  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 198, 3, 0),
    25  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 105, 1, 0),
    26  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 104, 27, 26), //nanosleep|getitimer|setitimer
    27  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 180, 26, 25), //init_module|delete_module|timer_create|timer_gettime|timer_getoverrun|timer_settime|timer_delete|clock_settime|clock_gettime|clock_getres|clock_nanosleep|syslog|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|reboot|setregid|setgid|setreuid|setuid|setresuid|getresuid|setresgid|getresgid|setfsuid|setfsgid|times|setpgid|getpgid|getsid|setsid|getgroups|setgroups|uname|sethostname|setdomainname|getrlimit|setrlimit|getrusage|umask|prctl|getcpu|gettimeofday|settimeofday|adjtimex|getpid|getppid|getuid|geteuid|getgid|getegid|gettid|sysinfo
    28  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 202, 25, 24), //socket|socketpair|bind|listen
    29  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 220, 1, 0),
    30  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
    31  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 224, 22, 21), //clone|execve|mmap|fadvise64
    32  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 424, 11, 0),
    33  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 266, 5, 0),
    34  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 260, 3, 0),
    35  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 240, 1, 0),
    36  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 234, 17, 16), //mprotect|msync|mlock|munlock|mlockall|munlockall|mincore|madvise
    37  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 244, 16, 15), //rt_tgsigqueueinfo|perf_event_open|accept4|recvmmsg
    38  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 262, 15, 14), //wait4|prlimit64
    39  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 291, 3, 0),
    40  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 274, 1, 0),
    41  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 272, 12, 11), //clock_adjtime|syncfs|setns|sendmmsg|process_vm_readv|process_vm_writev
    42  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
    43  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 292, 10, 9), //statx
    44  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 438, 5, 0),
    45  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 436, 3, 0),
    46  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 434, 1, 0),
    47  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 425, 6, 5), //pidfd_send_signal
    48  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 435, 5, 4), //pidfd_open
    49  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 437, 4, 3), //close_range
    50  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 440, 1, 0),
    51  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 439, 2, 1), //pidfd_getfd
    52  BPF_JUMP(BPF_JMP|BPF_JGE|BPF_K, 441, 1, 0), //process_madvise
    53  BPF_STMT(BPF_RET|BPF_K, SECCOMP_RET_ALLOW),
    54  };
    55  
    56  #define arm64_system_filter_size (sizeof(arm64_system_filter) / sizeof(struct sock_filter))