diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-11-05 04:48:05 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-11-05 04:48:05 +0900 |
| commit | becaf8b6d7151971907ff65f338afa038f021c92 (patch) | |
| tree | 4130439807baa92b11d85ad1199d0f2f5e27f001 /container/std | |
| parent | 54c0d6bf48fdfade3aaf7741ec3d3cbc302c8b82 (diff) | |
std: relocate seccomp lookup tables
This should enable resolving NativeRule in hst.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/std')
| -rwxr-xr-x | container/std/mksysnum_linux.pl | 89 | ||||
| -rw-r--r-- | container/std/pnr.go | 267 | ||||
| -rw-r--r-- | container/std/syscall.go | 28 | ||||
| -rw-r--r-- | container/std/syscall_extra_linux_amd64.go | 41 | ||||
| -rw-r--r-- | container/std/syscall_extra_linux_arm64.go | 55 | ||||
| -rw-r--r-- | container/std/syscall_linux_amd64.go | 459 | ||||
| -rw-r--r-- | container/std/syscall_linux_arm64.go | 382 | ||||
| -rw-r--r-- | container/std/syscall_test.go | 21 |
8 files changed, 1342 insertions, 0 deletions
diff --git a/container/std/mksysnum_linux.pl b/container/std/mksysnum_linux.pl new file mode 100755 index 00000000..0dee69d8 --- /dev/null +++ b/container/std/mksysnum_linux.pl @@ -0,0 +1,89 @@ +#!/usr/bin/env perl +# Copyright 2009 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +use strict; +use POSIX (); + +my $command = "mksysnum_linux.pl ". join(' ', @ARGV); +my $uname_arch = (POSIX::uname)[4]; +my %syscall_cutoff_arch = ( + "x86_64" => 302, + "aarch64" => 281, +); + +print <<EOF; +// $command +// Code generated by the command above; DO NOT EDIT. + +package std + +import . "syscall" + +var syscallNum = map[string]int{ +EOF + +my $offset = 0; +my $state = -1; + +sub fmt { + my ($name, $num) = @_; + if($num > 999){ + # ignore deprecated syscalls that are no longer implemented + # https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h?id=refs/heads/master#n716 + return; + } + (my $name_upper = $name) =~ y/a-z/A-Z/; + $num = $num + $offset; + if($num > $syscall_cutoff_arch{$uname_arch}){ # not wired in Go standard library + if($state < 0){ + print " \"$name\": SYS_$name_upper,\n"; + } + else{ + print " SYS_$name_upper = $num;\n"; + } + } + elsif($state < 0){ + print " \"$name\": SYS_$name_upper,\n"; + } + else{ + return; + } +} + +GENERATE: + +my $prev; +open(GCC, "gcc -E -dD $ARGV[0] |") || die "can't run gcc"; +while(<GCC>){ + if(/^#define __NR_Linux\s+([0-9]+)/){ + # mips/mips64: extract offset + $offset = $1; + } + elsif(/^#define __NR_syscalls\s+/) { + # ignore redefinitions of __NR_syscalls + } + elsif(/^#define __NR_(\w+)\s+([0-9]+)/){ + $prev = $2; + fmt($1, $2); + } + elsif(/^#define __NR3264_(\w+)\s+([0-9]+)/){ + $prev = $2; + fmt($1, $2); + } + elsif(/^#define __NR_(\w+)\s+\(\w+\+\s*([0-9]+)\)/){ + fmt($1, $prev+$2) + } + elsif(/^#define __NR_(\w+)\s+\(__NR_Linux \+ ([0-9]+)/){ + fmt($1, $2); + } +} + +if($state < 0){ + $state = $state + 1; + print "}\n\nconst (\n"; + goto GENERATE; +} + +print ")"; diff --git a/container/std/pnr.go b/container/std/pnr.go new file mode 100644 index 00000000..1fa20ec0 --- /dev/null +++ b/container/std/pnr.go @@ -0,0 +1,267 @@ +// Code generated from include/seccomp-syscalls.h; DO NOT EDIT. + +package std + +/* + * pseudo syscall definitions + */ + +const ( + + /* socket syscalls */ + + __PNR_socket = -101 + __PNR_bind = -102 + __PNR_connect = -103 + __PNR_listen = -104 + __PNR_accept = -105 + __PNR_getsockname = -106 + __PNR_getpeername = -107 + __PNR_socketpair = -108 + __PNR_send = -109 + __PNR_recv = -110 + __PNR_sendto = -111 + __PNR_recvfrom = -112 + __PNR_shutdown = -113 + __PNR_setsockopt = -114 + __PNR_getsockopt = -115 + __PNR_sendmsg = -116 + __PNR_recvmsg = -117 + __PNR_accept4 = -118 + __PNR_recvmmsg = -119 + __PNR_sendmmsg = -120 + + /* ipc syscalls */ + + __PNR_semop = -201 + __PNR_semget = -202 + __PNR_semctl = -203 + __PNR_semtimedop = -204 + __PNR_msgsnd = -211 + __PNR_msgrcv = -212 + __PNR_msgget = -213 + __PNR_msgctl = -214 + __PNR_shmat = -221 + __PNR_shmdt = -222 + __PNR_shmget = -223 + __PNR_shmctl = -224 + + /* single syscalls */ + + __PNR_arch_prctl = -10001 + __PNR_bdflush = -10002 + __PNR_break = -10003 + __PNR_chown32 = -10004 + __PNR_epoll_ctl_old = -10005 + __PNR_epoll_wait_old = -10006 + __PNR_fadvise64_64 = -10007 + __PNR_fchown32 = -10008 + __PNR_fcntl64 = -10009 + __PNR_fstat64 = -10010 + __PNR_fstatat64 = -10011 + __PNR_fstatfs64 = -10012 + __PNR_ftime = -10013 + __PNR_ftruncate64 = -10014 + __PNR_getegid32 = -10015 + __PNR_geteuid32 = -10016 + __PNR_getgid32 = -10017 + __PNR_getgroups32 = -10018 + __PNR_getresgid32 = -10019 + __PNR_getresuid32 = -10020 + __PNR_getuid32 = -10021 + __PNR_gtty = -10022 + __PNR_idle = -10023 + __PNR_ipc = -10024 + __PNR_lchown32 = -10025 + __PNR__llseek = -10026 + __PNR_lock = -10027 + __PNR_lstat64 = -10028 + __PNR_mmap2 = -10029 + __PNR_mpx = -10030 + __PNR_newfstatat = -10031 + __PNR__newselect = -10032 + __PNR_nice = -10033 + __PNR_oldfstat = -10034 + __PNR_oldlstat = -10035 + __PNR_oldolduname = -10036 + __PNR_oldstat = -10037 + __PNR_olduname = -10038 + __PNR_prof = -10039 + __PNR_profil = -10040 + __PNR_readdir = -10041 + __PNR_security = -10042 + __PNR_sendfile64 = -10043 + __PNR_setfsgid32 = -10044 + __PNR_setfsuid32 = -10045 + __PNR_setgid32 = -10046 + __PNR_setgroups32 = -10047 + __PNR_setregid32 = -10048 + __PNR_setresgid32 = -10049 + __PNR_setresuid32 = -10050 + __PNR_setreuid32 = -10051 + __PNR_setuid32 = -10052 + __PNR_sgetmask = -10053 + __PNR_sigaction = -10054 + __PNR_signal = -10055 + __PNR_sigpending = -10056 + __PNR_sigprocmask = -10057 + __PNR_sigreturn = -10058 + __PNR_sigsuspend = -10059 + __PNR_socketcall = -10060 + __PNR_ssetmask = -10061 + __PNR_stat64 = -10062 + __PNR_statfs64 = -10063 + __PNR_stime = -10064 + __PNR_stty = -10065 + __PNR_truncate64 = -10066 + __PNR_tuxcall = -10067 + __PNR_ugetrlimit = -10068 + __PNR_ulimit = -10069 + __PNR_umount = -10070 + __PNR_vm86 = -10071 + __PNR_vm86old = -10072 + __PNR_waitpid = -10073 + __PNR_create_module = -10074 + __PNR_get_kernel_syms = -10075 + __PNR_get_thread_area = -10076 + __PNR_nfsservctl = -10077 + __PNR_query_module = -10078 + __PNR_set_thread_area = -10079 + __PNR__sysctl = -10080 + __PNR_uselib = -10081 + __PNR_vserver = -10082 + __PNR_arm_fadvise64_64 = -10083 + __PNR_arm_sync_file_range = -10084 + __PNR_pciconfig_iobase = -10086 + __PNR_pciconfig_read = -10087 + __PNR_pciconfig_write = -10088 + __PNR_sync_file_range2 = -10089 + __PNR_syscall = -10090 + __PNR_afs_syscall = -10091 + __PNR_fadvise64 = -10092 + __PNR_getpmsg = -10093 + __PNR_ioperm = -10094 + __PNR_iopl = -10095 + __PNR_migrate_pages = -10097 + __PNR_modify_ldt = -10098 + __PNR_putpmsg = -10099 + __PNR_sync_file_range = -10100 + __PNR_select = -10101 + __PNR_vfork = -10102 + __PNR_cachectl = -10103 + __PNR_cacheflush = -10104 + __PNR_sysmips = -10106 + __PNR_timerfd = -10107 + __PNR_time = -10108 + __PNR_getrandom = -10109 + __PNR_memfd_create = -10110 + __PNR_kexec_file_load = -10111 + __PNR_sysfs = -10145 + __PNR_oldwait4 = -10146 + __PNR_access = -10147 + __PNR_alarm = -10148 + __PNR_chmod = -10149 + __PNR_chown = -10150 + __PNR_creat = -10151 + __PNR_dup2 = -10152 + __PNR_epoll_create = -10153 + __PNR_epoll_wait = -10154 + __PNR_eventfd = -10155 + __PNR_fork = -10156 + __PNR_futimesat = -10157 + __PNR_getdents = -10158 + __PNR_getpgrp = -10159 + __PNR_inotify_init = -10160 + __PNR_lchown = -10161 + __PNR_link = -10162 + __PNR_lstat = -10163 + __PNR_mkdir = -10164 + __PNR_mknod = -10165 + __PNR_open = -10166 + __PNR_pause = -10167 + __PNR_pipe = -10168 + __PNR_poll = -10169 + __PNR_readlink = -10170 + __PNR_rename = -10171 + __PNR_rmdir = -10172 + __PNR_signalfd = -10173 + __PNR_stat = -10174 + __PNR_symlink = -10175 + __PNR_unlink = -10176 + __PNR_ustat = -10177 + __PNR_utime = -10178 + __PNR_utimes = -10179 + __PNR_getrlimit = -10180 + __PNR_mmap = -10181 + __PNR_breakpoint = -10182 + __PNR_set_tls = -10183 + __PNR_usr26 = -10184 + __PNR_usr32 = -10185 + __PNR_multiplexer = -10186 + __PNR_rtas = -10187 + __PNR_spu_create = -10188 + __PNR_spu_run = -10189 + __PNR_swapcontext = -10190 + __PNR_sys_debug_setcontext = -10191 + __PNR_switch_endian = -10191 + __PNR_get_mempolicy = -10192 + __PNR_move_pages = -10193 + __PNR_mbind = -10194 + __PNR_set_mempolicy = -10195 + __PNR_s390_runtime_instr = -10196 + __PNR_s390_pci_mmio_read = -10197 + __PNR_s390_pci_mmio_write = -10198 + __PNR_membarrier = -10199 + __PNR_userfaultfd = -10200 + __PNR_pkey_mprotect = -10201 + __PNR_pkey_alloc = -10202 + __PNR_pkey_free = -10203 + __PNR_get_tls = -10204 + __PNR_s390_guarded_storage = -10205 + __PNR_s390_sthyi = -10206 + __PNR_subpage_prot = -10207 + __PNR_statx = -10208 + __PNR_io_pgetevents = -10209 + __PNR_rseq = -10210 + __PNR_setrlimit = -10211 + __PNR_clock_adjtime64 = -10212 + __PNR_clock_getres_time64 = -10213 + __PNR_clock_gettime64 = -10214 + __PNR_clock_nanosleep_time64 = -10215 + __PNR_clock_settime64 = -10216 + __PNR_clone3 = -10217 + __PNR_fsconfig = -10218 + __PNR_fsmount = -10219 + __PNR_fsopen = -10220 + __PNR_fspick = -10221 + __PNR_futex_time64 = -10222 + __PNR_io_pgetevents_time64 = -10223 + __PNR_move_mount = -10224 + __PNR_mq_timedreceive_time64 = -10225 + __PNR_mq_timedsend_time64 = -10226 + __PNR_open_tree = -10227 + __PNR_pidfd_open = -10228 + __PNR_pidfd_send_signal = -10229 + __PNR_ppoll_time64 = -10230 + __PNR_pselect6_time64 = -10231 + __PNR_recvmmsg_time64 = -10232 + __PNR_rt_sigtimedwait_time64 = -10233 + __PNR_sched_rr_get_interval_time64 = -10234 + __PNR_semtimedop_time64 = -10235 + __PNR_timer_gettime64 = -10236 + __PNR_timer_settime64 = -10237 + __PNR_timerfd_gettime64 = -10238 + __PNR_timerfd_settime64 = -10239 + __PNR_utimensat_time64 = -10240 + __PNR_ppoll = -10241 + __PNR_renameat = -10242 + __PNR_riscv_flush_icache = -10243 + __PNR_memfd_secret = -10244 + __PNR_map_shadow_stack = -10245 + __PNR_fstat = -10246 + __PNR_atomic_barrier = -10247 + __PNR_atomic_cmpxchg_32 = -10248 + __PNR_getpagesize = -10249 + __PNR_riscv_hwprobe = -10250 + __PNR_uretprobe = -10251 +) diff --git a/container/std/syscall.go b/container/std/syscall.go new file mode 100644 index 00000000..ff8d396e --- /dev/null +++ b/container/std/syscall.go @@ -0,0 +1,28 @@ +package std + +import "iter" + +// Syscalls returns an iterator over all wired syscalls. +func Syscalls() iter.Seq2[string, int] { + return func(yield func(string, int) bool) { + for name, num := range syscallNum { + if !yield(name, num) { + return + } + } + for name, num := range syscallNumExtra { + if !yield(name, num) { + return + } + } + } +} + +// SyscallResolveName resolves a syscall number from its string representation. +func SyscallResolveName(name string) (num int, ok bool) { + if num, ok = syscallNum[name]; ok { + return + } + num, ok = syscallNumExtra[name] + return +} diff --git a/container/std/syscall_extra_linux_amd64.go b/container/std/syscall_extra_linux_amd64.go new file mode 100644 index 00000000..5f8d4837 --- /dev/null +++ b/container/std/syscall_extra_linux_amd64.go @@ -0,0 +1,41 @@ +package std + +var syscallNumExtra = map[string]int{ + "umount": SYS_UMOUNT, + "subpage_prot": SYS_SUBPAGE_PROT, + "switch_endian": SYS_SWITCH_ENDIAN, + "vm86": SYS_VM86, + "vm86old": SYS_VM86OLD, + "clock_adjtime64": SYS_CLOCK_ADJTIME64, + "clock_settime64": SYS_CLOCK_SETTIME64, + "chown32": SYS_CHOWN32, + "fchown32": SYS_FCHOWN32, + "lchown32": SYS_LCHOWN32, + "setgid32": SYS_SETGID32, + "setgroups32": SYS_SETGROUPS32, + "setregid32": SYS_SETREGID32, + "setresgid32": SYS_SETRESGID32, + "setresuid32": SYS_SETRESUID32, + "setreuid32": SYS_SETREUID32, + "setuid32": SYS_SETUID32, +} + +const ( + SYS_UMOUNT = __PNR_umount + SYS_SUBPAGE_PROT = __PNR_subpage_prot + SYS_SWITCH_ENDIAN = __PNR_switch_endian + SYS_VM86 = __PNR_vm86 + SYS_VM86OLD = __PNR_vm86old + SYS_CLOCK_ADJTIME64 = __PNR_clock_adjtime64 + SYS_CLOCK_SETTIME64 = __PNR_clock_settime64 + SYS_CHOWN32 = __PNR_chown32 + SYS_FCHOWN32 = __PNR_fchown32 + SYS_LCHOWN32 = __PNR_lchown32 + SYS_SETGID32 = __PNR_setgid32 + SYS_SETGROUPS32 = __PNR_setgroups32 + SYS_SETREGID32 = __PNR_setregid32 + SYS_SETRESGID32 = __PNR_setresgid32 + SYS_SETRESUID32 = __PNR_setresuid32 + SYS_SETREUID32 = __PNR_setreuid32 + SYS_SETUID32 = __PNR_setuid32 +) diff --git a/container/std/syscall_extra_linux_arm64.go b/container/std/syscall_extra_linux_arm64.go new file mode 100644 index 00000000..d21af8ea --- /dev/null +++ b/container/std/syscall_extra_linux_arm64.go @@ -0,0 +1,55 @@ +package std + +import "syscall" + +const ( + SYS_NEWFSTATAT = syscall.SYS_FSTATAT +) + +var syscallNumExtra = map[string]int{ + "uselib": SYS_USELIB, + "clock_adjtime64": SYS_CLOCK_ADJTIME64, + "clock_settime64": SYS_CLOCK_SETTIME64, + "umount": SYS_UMOUNT, + "chown": SYS_CHOWN, + "chown32": SYS_CHOWN32, + "fchown32": SYS_FCHOWN32, + "lchown": SYS_LCHOWN, + "lchown32": SYS_LCHOWN32, + "setgid32": SYS_SETGID32, + "setgroups32": SYS_SETGROUPS32, + "setregid32": SYS_SETREGID32, + "setresgid32": SYS_SETRESGID32, + "setresuid32": SYS_SETRESUID32, + "setreuid32": SYS_SETREUID32, + "setuid32": SYS_SETUID32, + "modify_ldt": SYS_MODIFY_LDT, + "subpage_prot": SYS_SUBPAGE_PROT, + "switch_endian": SYS_SWITCH_ENDIAN, + "vm86": SYS_VM86, + "vm86old": SYS_VM86OLD, +} + +const ( + SYS_USELIB = __PNR_uselib + SYS_CLOCK_ADJTIME64 = __PNR_clock_adjtime64 + SYS_CLOCK_SETTIME64 = __PNR_clock_settime64 + SYS_UMOUNT = __PNR_umount + SYS_CHOWN = __PNR_chown + SYS_CHOWN32 = __PNR_chown32 + SYS_FCHOWN32 = __PNR_fchown32 + SYS_LCHOWN = __PNR_lchown + SYS_LCHOWN32 = __PNR_lchown32 + SYS_SETGID32 = __PNR_setgid32 + SYS_SETGROUPS32 = __PNR_setgroups32 + SYS_SETREGID32 = __PNR_setregid32 + SYS_SETRESGID32 = __PNR_setresgid32 + SYS_SETRESUID32 = __PNR_setresuid32 + SYS_SETREUID32 = __PNR_setreuid32 + SYS_SETUID32 = __PNR_setuid32 + SYS_MODIFY_LDT = __PNR_modify_ldt + SYS_SUBPAGE_PROT = __PNR_subpage_prot + SYS_SWITCH_ENDIAN = __PNR_switch_endian + SYS_VM86 = __PNR_vm86 + SYS_VM86OLD = __PNR_vm86old +) diff --git a/container/std/syscall_linux_amd64.go b/container/std/syscall_linux_amd64.go new file mode 100644 index 00000000..183c99f6 --- /dev/null +++ b/container/std/syscall_linux_amd64.go @@ -0,0 +1,459 @@ +// mksysnum_linux.pl /usr/include/asm/unistd_64.h +// Code generated by the command above; DO NOT EDIT. + +package std + +import . "syscall" + +var syscallNum = map[string]int{ + "read": SYS_READ, + "write": SYS_WRITE, + "open": SYS_OPEN, + "close": SYS_CLOSE, + "stat": SYS_STAT, + "fstat": SYS_FSTAT, + "lstat": SYS_LSTAT, + "poll": SYS_POLL, + "lseek": SYS_LSEEK, + "mmap": SYS_MMAP, + "mprotect": SYS_MPROTECT, + "munmap": SYS_MUNMAP, + "brk": SYS_BRK, + "rt_sigaction": SYS_RT_SIGACTION, + "rt_sigprocmask": SYS_RT_SIGPROCMASK, + "rt_sigreturn": SYS_RT_SIGRETURN, + "ioctl": SYS_IOCTL, + "pread64": SYS_PREAD64, + "pwrite64": SYS_PWRITE64, + "readv": SYS_READV, + "writev": SYS_WRITEV, + "access": SYS_ACCESS, + "pipe": SYS_PIPE, + "select": SYS_SELECT, + "sched_yield": SYS_SCHED_YIELD, + "mremap": SYS_MREMAP, + "msync": SYS_MSYNC, + "mincore": SYS_MINCORE, + "madvise": SYS_MADVISE, + "shmget": SYS_SHMGET, + "shmat": SYS_SHMAT, + "shmctl": SYS_SHMCTL, + "dup": SYS_DUP, + "dup2": SYS_DUP2, + "pause": SYS_PAUSE, + "nanosleep": SYS_NANOSLEEP, + "getitimer": SYS_GETITIMER, + "alarm": SYS_ALARM, + "setitimer": SYS_SETITIMER, + "getpid": SYS_GETPID, + "sendfile": SYS_SENDFILE, + "socket": SYS_SOCKET, + "connect": SYS_CONNECT, + "accept": SYS_ACCEPT, + "sendto": SYS_SENDTO, + "recvfrom": SYS_RECVFROM, + "sendmsg": SYS_SENDMSG, + "recvmsg": SYS_RECVMSG, + "shutdown": SYS_SHUTDOWN, + "bind": SYS_BIND, + "listen": SYS_LISTEN, + "getsockname": SYS_GETSOCKNAME, + "getpeername": SYS_GETPEERNAME, + "socketpair": SYS_SOCKETPAIR, + "setsockopt": SYS_SETSOCKOPT, + "getsockopt": SYS_GETSOCKOPT, + "clone": SYS_CLONE, + "fork": SYS_FORK, + "vfork": SYS_VFORK, + "execve": SYS_EXECVE, + "exit": SYS_EXIT, + "wait4": SYS_WAIT4, + "kill": SYS_KILL, + "uname": SYS_UNAME, + "semget": SYS_SEMGET, + "semop": SYS_SEMOP, + "semctl": SYS_SEMCTL, + "shmdt": SYS_SHMDT, + "msgget": SYS_MSGGET, + "msgsnd": SYS_MSGSND, + "msgrcv": SYS_MSGRCV, + "msgctl": SYS_MSGCTL, + "fcntl": SYS_FCNTL, + "flock": SYS_FLOCK, + "fsync": SYS_FSYNC, + "fdatasync": SYS_FDATASYNC, + "truncate": SYS_TRUNCATE, + "ftruncate": SYS_FTRUNCATE, + "getdents": SYS_GETDENTS, + "getcwd": SYS_GETCWD, + "chdir": SYS_CHDIR, + "fchdir": SYS_FCHDIR, + "rename": SYS_RENAME, + "mkdir": SYS_MKDIR, + "rmdir": SYS_RMDIR, + "creat": SYS_CREAT, + "link": SYS_LINK, + "unlink": SYS_UNLINK, + "symlink": SYS_SYMLINK, + "readlink": SYS_READLINK, + "chmod": SYS_CHMOD, + "fchmod": SYS_FCHMOD, + "chown": SYS_CHOWN, + "fchown": SYS_FCHOWN, + "lchown": SYS_LCHOWN, + "umask": SYS_UMASK, + "gettimeofday": SYS_GETTIMEOFDAY, + "getrlimit": SYS_GETRLIMIT, + "getrusage": SYS_GETRUSAGE, + "sysinfo": SYS_SYSINFO, + "times": SYS_TIMES, + "ptrace": SYS_PTRACE, + "getuid": SYS_GETUID, + "syslog": SYS_SYSLOG, + "getgid": SYS_GETGID, + "setuid": SYS_SETUID, + "setgid": SYS_SETGID, + "geteuid": SYS_GETEUID, + "getegid": SYS_GETEGID, + "setpgid": SYS_SETPGID, + "getppid": SYS_GETPPID, + "getpgrp": SYS_GETPGRP, + "setsid": SYS_SETSID, + "setreuid": SYS_SETREUID, + "setregid": SYS_SETREGID, + "getgroups": SYS_GETGROUPS, + "setgroups": SYS_SETGROUPS, + "setresuid": SYS_SETRESUID, + "getresuid": SYS_GETRESUID, + "setresgid": SYS_SETRESGID, + "getresgid": SYS_GETRESGID, + "getpgid": SYS_GETPGID, + "setfsuid": SYS_SETFSUID, + "setfsgid": SYS_SETFSGID, + "getsid": SYS_GETSID, + "capget": SYS_CAPGET, + "capset": SYS_CAPSET, + "rt_sigpending": SYS_RT_SIGPENDING, + "rt_sigtimedwait": SYS_RT_SIGTIMEDWAIT, + "rt_sigqueueinfo": SYS_RT_SIGQUEUEINFO, + "rt_sigsuspend": SYS_RT_SIGSUSPEND, + "sigaltstack": SYS_SIGALTSTACK, + "utime": SYS_UTIME, + "mknod": SYS_MKNOD, + "uselib": SYS_USELIB, + "personality": SYS_PERSONALITY, + "ustat": SYS_USTAT, + "statfs": SYS_STATFS, + "fstatfs": SYS_FSTATFS, + "sysfs": SYS_SYSFS, + "getpriority": SYS_GETPRIORITY, + "setpriority": SYS_SETPRIORITY, + "sched_setparam": SYS_SCHED_SETPARAM, + "sched_getparam": SYS_SCHED_GETPARAM, + "sched_setscheduler": SYS_SCHED_SETSCHEDULER, + "sched_getscheduler": SYS_SCHED_GETSCHEDULER, + "sched_get_priority_max": SYS_SCHED_GET_PRIORITY_MAX, + "sched_get_priority_min": SYS_SCHED_GET_PRIORITY_MIN, + "sched_rr_get_interval": SYS_SCHED_RR_GET_INTERVAL, + "mlock": SYS_MLOCK, + "munlock": SYS_MUNLOCK, + "mlockall": SYS_MLOCKALL, + "munlockall": SYS_MUNLOCKALL, + "vhangup": SYS_VHANGUP, + "modify_ldt": SYS_MODIFY_LDT, + "pivot_root": SYS_PIVOT_ROOT, + "_sysctl": SYS__SYSCTL, + "prctl": SYS_PRCTL, + "arch_prctl": SYS_ARCH_PRCTL, + "adjtimex": SYS_ADJTIMEX, + "setrlimit": SYS_SETRLIMIT, + "chroot": SYS_CHROOT, + "sync": SYS_SYNC, + "acct": SYS_ACCT, + "settimeofday": SYS_SETTIMEOFDAY, + "mount": SYS_MOUNT, + "umount2": SYS_UMOUNT2, + "swapon": SYS_SWAPON, + "swapoff": SYS_SWAPOFF, + "reboot": SYS_REBOOT, + "sethostname": SYS_SETHOSTNAME, + "setdomainname": SYS_SETDOMAINNAME, + "iopl": SYS_IOPL, + "ioperm": SYS_IOPERM, + "create_module": SYS_CREATE_MODULE, + "init_module": SYS_INIT_MODULE, + "delete_module": SYS_DELETE_MODULE, + "get_kernel_syms": SYS_GET_KERNEL_SYMS, + "query_module": SYS_QUERY_MODULE, + "quotactl": SYS_QUOTACTL, + "nfsservctl": SYS_NFSSERVCTL, + "getpmsg": SYS_GETPMSG, + "putpmsg": SYS_PUTPMSG, + "afs_syscall": SYS_AFS_SYSCALL, + "tuxcall": SYS_TUXCALL, + "security": SYS_SECURITY, + "gettid": SYS_GETTID, + "readahead": SYS_READAHEAD, + "setxattr": SYS_SETXATTR, + "lsetxattr": SYS_LSETXATTR, + "fsetxattr": SYS_FSETXATTR, + "getxattr": SYS_GETXATTR, + "lgetxattr": SYS_LGETXATTR, + "fgetxattr": SYS_FGETXATTR, + "listxattr": SYS_LISTXATTR, + "llistxattr": SYS_LLISTXATTR, + "flistxattr": SYS_FLISTXATTR, + "removexattr": SYS_REMOVEXATTR, + "lremovexattr": SYS_LREMOVEXATTR, + "fremovexattr": SYS_FREMOVEXATTR, + "tkill": SYS_TKILL, + "time": SYS_TIME, + "futex": SYS_FUTEX, + "sched_setaffinity": SYS_SCHED_SETAFFINITY, + "sched_getaffinity": SYS_SCHED_GETAFFINITY, + "set_thread_area": SYS_SET_THREAD_AREA, + "io_setup": SYS_IO_SETUP, + "io_destroy": SYS_IO_DESTROY, + "io_getevents": SYS_IO_GETEVENTS, + "io_submit": SYS_IO_SUBMIT, + "io_cancel": SYS_IO_CANCEL, + "get_thread_area": SYS_GET_THREAD_AREA, + "lookup_dcookie": SYS_LOOKUP_DCOOKIE, + "epoll_create": SYS_EPOLL_CREATE, + "epoll_ctl_old": SYS_EPOLL_CTL_OLD, + "epoll_wait_old": SYS_EPOLL_WAIT_OLD, + "remap_file_pages": SYS_REMAP_FILE_PAGES, + "getdents64": SYS_GETDENTS64, + "set_tid_address": SYS_SET_TID_ADDRESS, + "restart_syscall": SYS_RESTART_SYSCALL, + "semtimedop": SYS_SEMTIMEDOP, + "fadvise64": SYS_FADVISE64, + "timer_create": SYS_TIMER_CREATE, + "timer_settime": SYS_TIMER_SETTIME, + "timer_gettime": SYS_TIMER_GETTIME, + "timer_getoverrun": SYS_TIMER_GETOVERRUN, + "timer_delete": SYS_TIMER_DELETE, + "clock_settime": SYS_CLOCK_SETTIME, + "clock_gettime": SYS_CLOCK_GETTIME, + "clock_getres": SYS_CLOCK_GETRES, + "clock_nanosleep": SYS_CLOCK_NANOSLEEP, + "exit_group": SYS_EXIT_GROUP, + "epoll_wait": SYS_EPOLL_WAIT, + "epoll_ctl": SYS_EPOLL_CTL, + "tgkill": SYS_TGKILL, + "utimes": SYS_UTIMES, + "vserver": SYS_VSERVER, + "mbind": SYS_MBIND, + "set_mempolicy": SYS_SET_MEMPOLICY, + "get_mempolicy": SYS_GET_MEMPOLICY, + "mq_open": SYS_MQ_OPEN, + "mq_unlink": SYS_MQ_UNLINK, + "mq_timedsend": SYS_MQ_TIMEDSEND, + "mq_timedreceive": SYS_MQ_TIMEDRECEIVE, + "mq_notify": SYS_MQ_NOTIFY, + "mq_getsetattr": SYS_MQ_GETSETATTR, + "kexec_load": SYS_KEXEC_LOAD, + "waitid": SYS_WAITID, + "add_key": SYS_ADD_KEY, + "request_key": SYS_REQUEST_KEY, + "keyctl": SYS_KEYCTL, + "ioprio_set": SYS_IOPRIO_SET, + "ioprio_get": SYS_IOPRIO_GET, + "inotify_init": SYS_INOTIFY_INIT, + "inotify_add_watch": SYS_INOTIFY_ADD_WATCH, + "inotify_rm_watch": SYS_INOTIFY_RM_WATCH, + "migrate_pages": SYS_MIGRATE_PAGES, + "openat": SYS_OPENAT, + "mkdirat": SYS_MKDIRAT, + "mknodat": SYS_MKNODAT, + "fchownat": SYS_FCHOWNAT, + "futimesat": SYS_FUTIMESAT, + "newfstatat": SYS_NEWFSTATAT, + "unlinkat": SYS_UNLINKAT, + "renameat": SYS_RENAMEAT, + "linkat": SYS_LINKAT, + "symlinkat": SYS_SYMLINKAT, + "readlinkat": SYS_READLINKAT, + "fchmodat": SYS_FCHMODAT, + "faccessat": SYS_FACCESSAT, + "pselect6": SYS_PSELECT6, + "ppoll": SYS_PPOLL, + "unshare": SYS_UNSHARE, + "set_robust_list": SYS_SET_ROBUST_LIST, + "get_robust_list": SYS_GET_ROBUST_LIST, + "splice": SYS_SPLICE, + "tee": SYS_TEE, + "sync_file_range": SYS_SYNC_FILE_RANGE, + "vmsplice": SYS_VMSPLICE, + "move_pages": SYS_MOVE_PAGES, + "utimensat": SYS_UTIMENSAT, + "epoll_pwait": SYS_EPOLL_PWAIT, + "signalfd": SYS_SIGNALFD, + "timerfd_create": SYS_TIMERFD_CREATE, + "eventfd": SYS_EVENTFD, + "fallocate": SYS_FALLOCATE, + "timerfd_settime": SYS_TIMERFD_SETTIME, + "timerfd_gettime": SYS_TIMERFD_GETTIME, + "accept4": SYS_ACCEPT4, + "signalfd4": SYS_SIGNALFD4, + "eventfd2": SYS_EVENTFD2, + "epoll_create1": SYS_EPOLL_CREATE1, + "dup3": SYS_DUP3, + "pipe2": SYS_PIPE2, + "inotify_init1": SYS_INOTIFY_INIT1, + "preadv": SYS_PREADV, + "pwritev": SYS_PWRITEV, + "rt_tgsigqueueinfo": SYS_RT_TGSIGQUEUEINFO, + "perf_event_open": SYS_PERF_EVENT_OPEN, + "recvmmsg": SYS_RECVMMSG, + "fanotify_init": SYS_FANOTIFY_INIT, + "fanotify_mark": SYS_FANOTIFY_MARK, + "prlimit64": SYS_PRLIMIT64, + "name_to_handle_at": SYS_NAME_TO_HANDLE_AT, + "open_by_handle_at": SYS_OPEN_BY_HANDLE_AT, + "clock_adjtime": SYS_CLOCK_ADJTIME, + "syncfs": SYS_SYNCFS, + "sendmmsg": SYS_SENDMMSG, + "setns": SYS_SETNS, + "getcpu": SYS_GETCPU, + "process_vm_readv": SYS_PROCESS_VM_READV, + "process_vm_writev": SYS_PROCESS_VM_WRITEV, + "kcmp": SYS_KCMP, + "finit_module": SYS_FINIT_MODULE, + "sched_setattr": SYS_SCHED_SETATTR, + "sched_getattr": SYS_SCHED_GETATTR, + "renameat2": SYS_RENAMEAT2, + "seccomp": SYS_SECCOMP, + "getrandom": SYS_GETRANDOM, + "memfd_create": SYS_MEMFD_CREATE, + "kexec_file_load": SYS_KEXEC_FILE_LOAD, + "bpf": SYS_BPF, + "execveat": SYS_EXECVEAT, + "userfaultfd": SYS_USERFAULTFD, + "membarrier": SYS_MEMBARRIER, + "mlock2": SYS_MLOCK2, + "copy_file_range": SYS_COPY_FILE_RANGE, + "preadv2": SYS_PREADV2, + "pwritev2": SYS_PWRITEV2, + "pkey_mprotect": SYS_PKEY_MPROTECT, + "pkey_alloc": SYS_PKEY_ALLOC, + "pkey_free": SYS_PKEY_FREE, + "statx": SYS_STATX, + "io_pgetevents": SYS_IO_PGETEVENTS, + "rseq": SYS_RSEQ, + "uretprobe": SYS_URETPROBE, + "pidfd_send_signal": SYS_PIDFD_SEND_SIGNAL, + "io_uring_setup": SYS_IO_URING_SETUP, + "io_uring_enter": SYS_IO_URING_ENTER, + "io_uring_register": SYS_IO_URING_REGISTER, + "open_tree": SYS_OPEN_TREE, + "move_mount": SYS_MOVE_MOUNT, + "fsopen": SYS_FSOPEN, + "fsconfig": SYS_FSCONFIG, + "fsmount": SYS_FSMOUNT, + "fspick": SYS_FSPICK, + "pidfd_open": SYS_PIDFD_OPEN, + "clone3": SYS_CLONE3, + "close_range": SYS_CLOSE_RANGE, + "openat2": SYS_OPENAT2, + "pidfd_getfd": SYS_PIDFD_GETFD, + "faccessat2": SYS_FACCESSAT2, + "process_madvise": SYS_PROCESS_MADVISE, + "epoll_pwait2": SYS_EPOLL_PWAIT2, + "mount_setattr": SYS_MOUNT_SETATTR, + "quotactl_fd": SYS_QUOTACTL_FD, + "landlock_create_ruleset": SYS_LANDLOCK_CREATE_RULESET, + "landlock_add_rule": SYS_LANDLOCK_ADD_RULE, + "landlock_restrict_self": SYS_LANDLOCK_RESTRICT_SELF, + "memfd_secret": SYS_MEMFD_SECRET, + "process_mrelease": SYS_PROCESS_MRELEASE, + "futex_waitv": SYS_FUTEX_WAITV, + "set_mempolicy_home_node": SYS_SET_MEMPOLICY_HOME_NODE, + "cachestat": SYS_CACHESTAT, + "fchmodat2": SYS_FCHMODAT2, + "map_shadow_stack": SYS_MAP_SHADOW_STACK, + "futex_wake": SYS_FUTEX_WAKE, + "futex_wait": SYS_FUTEX_WAIT, + "futex_requeue": SYS_FUTEX_REQUEUE, + "statmount": SYS_STATMOUNT, + "listmount": SYS_LISTMOUNT, + "lsm_get_self_attr": SYS_LSM_GET_SELF_ATTR, + "lsm_set_self_attr": SYS_LSM_SET_SELF_ATTR, + "lsm_list_modules": SYS_LSM_LIST_MODULES, + "mseal": SYS_MSEAL, +} + +const ( + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 + SYS_IO_PGETEVENTS = 333 + SYS_RSEQ = 334 + SYS_URETPROBE = 335 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 + SYS_QUOTACTL_FD = 443 + SYS_LANDLOCK_CREATE_RULESET = 444 + SYS_LANDLOCK_ADD_RULE = 445 + SYS_LANDLOCK_RESTRICT_SELF = 446 + SYS_MEMFD_SECRET = 447 + SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 + SYS_SET_MEMPOLICY_HOME_NODE = 450 + SYS_CACHESTAT = 451 + SYS_FCHMODAT2 = 452 + SYS_MAP_SHADOW_STACK = 453 + SYS_FUTEX_WAKE = 454 + SYS_FUTEX_WAIT = 455 + SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 +) diff --git a/container/std/syscall_linux_arm64.go b/container/std/syscall_linux_arm64.go new file mode 100644 index 00000000..223da39c --- /dev/null +++ b/container/std/syscall_linux_arm64.go @@ -0,0 +1,382 @@ +// mksysnum_linux.pl /usr/include/asm/unistd_64.h +// Code generated by the command above; DO NOT EDIT. + +package std + +import . "syscall" + +var syscallNum = map[string]int{ + "io_setup": SYS_IO_SETUP, + "io_destroy": SYS_IO_DESTROY, + "io_submit": SYS_IO_SUBMIT, + "io_cancel": SYS_IO_CANCEL, + "io_getevents": SYS_IO_GETEVENTS, + "setxattr": SYS_SETXATTR, + "lsetxattr": SYS_LSETXATTR, + "fsetxattr": SYS_FSETXATTR, + "getxattr": SYS_GETXATTR, + "lgetxattr": SYS_LGETXATTR, + "fgetxattr": SYS_FGETXATTR, + "listxattr": SYS_LISTXATTR, + "llistxattr": SYS_LLISTXATTR, + "flistxattr": SYS_FLISTXATTR, + "removexattr": SYS_REMOVEXATTR, + "lremovexattr": SYS_LREMOVEXATTR, + "fremovexattr": SYS_FREMOVEXATTR, + "getcwd": SYS_GETCWD, + "lookup_dcookie": SYS_LOOKUP_DCOOKIE, + "eventfd2": SYS_EVENTFD2, + "epoll_create1": SYS_EPOLL_CREATE1, + "epoll_ctl": SYS_EPOLL_CTL, + "epoll_pwait": SYS_EPOLL_PWAIT, + "dup": SYS_DUP, + "dup3": SYS_DUP3, + "fcntl": SYS_FCNTL, + "inotify_init1": SYS_INOTIFY_INIT1, + "inotify_add_watch": SYS_INOTIFY_ADD_WATCH, + "inotify_rm_watch": SYS_INOTIFY_RM_WATCH, + "ioctl": SYS_IOCTL, + "ioprio_set": SYS_IOPRIO_SET, + "ioprio_get": SYS_IOPRIO_GET, + "flock": SYS_FLOCK, + "mknodat": SYS_MKNODAT, + "mkdirat": SYS_MKDIRAT, + "unlinkat": SYS_UNLINKAT, + "symlinkat": SYS_SYMLINKAT, + "linkat": SYS_LINKAT, + "renameat": SYS_RENAMEAT, + "umount2": SYS_UMOUNT2, + "mount": SYS_MOUNT, + "pivot_root": SYS_PIVOT_ROOT, + "nfsservctl": SYS_NFSSERVCTL, + "statfs": SYS_STATFS, + "fstatfs": SYS_FSTATFS, + "truncate": SYS_TRUNCATE, + "ftruncate": SYS_FTRUNCATE, + "fallocate": SYS_FALLOCATE, + "faccessat": SYS_FACCESSAT, + "chdir": SYS_CHDIR, + "fchdir": SYS_FCHDIR, + "chroot": SYS_CHROOT, + "fchmod": SYS_FCHMOD, + "fchmodat": SYS_FCHMODAT, + "fchownat": SYS_FCHOWNAT, + "fchown": SYS_FCHOWN, + "openat": SYS_OPENAT, + "close": SYS_CLOSE, + "vhangup": SYS_VHANGUP, + "pipe2": SYS_PIPE2, + "quotactl": SYS_QUOTACTL, + "getdents64": SYS_GETDENTS64, + "lseek": SYS_LSEEK, + "read": SYS_READ, + "write": SYS_WRITE, + "readv": SYS_READV, + "writev": SYS_WRITEV, + "pread64": SYS_PREAD64, + "pwrite64": SYS_PWRITE64, + "preadv": SYS_PREADV, + "pwritev": SYS_PWRITEV, + "sendfile": SYS_SENDFILE, + "pselect6": SYS_PSELECT6, + "ppoll": SYS_PPOLL, + "signalfd4": SYS_SIGNALFD4, + "vmsplice": SYS_VMSPLICE, + "splice": SYS_SPLICE, + "tee": SYS_TEE, + "readlinkat": SYS_READLINKAT, + "newfstatat": SYS_NEWFSTATAT, + "fstat": SYS_FSTAT, + "sync": SYS_SYNC, + "fsync": SYS_FSYNC, + "fdatasync": SYS_FDATASYNC, + "sync_file_range": SYS_SYNC_FILE_RANGE, + "timerfd_create": SYS_TIMERFD_CREATE, + "timerfd_settime": SYS_TIMERFD_SETTIME, + "timerfd_gettime": SYS_TIMERFD_GETTIME, + "utimensat": SYS_UTIMENSAT, + "acct": SYS_ACCT, + "capget": SYS_CAPGET, + "capset": SYS_CAPSET, + "personality": SYS_PERSONALITY, + "exit": SYS_EXIT, + "exit_group": SYS_EXIT_GROUP, + "waitid": SYS_WAITID, + "set_tid_address": SYS_SET_TID_ADDRESS, + "unshare": SYS_UNSHARE, + "futex": SYS_FUTEX, + "set_robust_list": SYS_SET_ROBUST_LIST, + "get_robust_list": SYS_GET_ROBUST_LIST, + "nanosleep": SYS_NANOSLEEP, + "getitimer": SYS_GETITIMER, + "setitimer": SYS_SETITIMER, + "kexec_load": SYS_KEXEC_LOAD, + "init_module": SYS_INIT_MODULE, + "delete_module": SYS_DELETE_MODULE, + "timer_create": SYS_TIMER_CREATE, + "timer_gettime": SYS_TIMER_GETTIME, + "timer_getoverrun": SYS_TIMER_GETOVERRUN, + "timer_settime": SYS_TIMER_SETTIME, + "timer_delete": SYS_TIMER_DELETE, + "clock_settime": SYS_CLOCK_SETTIME, + "clock_gettime": SYS_CLOCK_GETTIME, + "clock_getres": SYS_CLOCK_GETRES, + "clock_nanosleep": SYS_CLOCK_NANOSLEEP, + "syslog": SYS_SYSLOG, + "ptrace": SYS_PTRACE, + "sched_setparam": SYS_SCHED_SETPARAM, + "sched_setscheduler": SYS_SCHED_SETSCHEDULER, + "sched_getscheduler": SYS_SCHED_GETSCHEDULER, + "sched_getparam": SYS_SCHED_GETPARAM, + "sched_setaffinity": SYS_SCHED_SETAFFINITY, + "sched_getaffinity": SYS_SCHED_GETAFFINITY, + "sched_yield": SYS_SCHED_YIELD, + "sched_get_priority_max": SYS_SCHED_GET_PRIORITY_MAX, + "sched_get_priority_min": SYS_SCHED_GET_PRIORITY_MIN, + "sched_rr_get_interval": SYS_SCHED_RR_GET_INTERVAL, + "restart_syscall": SYS_RESTART_SYSCALL, + "kill": SYS_KILL, + "tkill": SYS_TKILL, + "tgkill": SYS_TGKILL, + "sigaltstack": SYS_SIGALTSTACK, + "rt_sigsuspend": SYS_RT_SIGSUSPEND, + "rt_sigaction": SYS_RT_SIGACTION, + "rt_sigprocmask": SYS_RT_SIGPROCMASK, + "rt_sigpending": SYS_RT_SIGPENDING, + "rt_sigtimedwait": SYS_RT_SIGTIMEDWAIT, + "rt_sigqueueinfo": SYS_RT_SIGQUEUEINFO, + "rt_sigreturn": SYS_RT_SIGRETURN, + "setpriority": SYS_SETPRIORITY, + "getpriority": SYS_GETPRIORITY, + "reboot": SYS_REBOOT, + "setregid": SYS_SETREGID, + "setgid": SYS_SETGID, + "setreuid": SYS_SETREUID, + "setuid": SYS_SETUID, + "setresuid": SYS_SETRESUID, + "getresuid": SYS_GETRESUID, + "setresgid": SYS_SETRESGID, + "getresgid": SYS_GETRESGID, + "setfsuid": SYS_SETFSUID, + "setfsgid": SYS_SETFSGID, + "times": SYS_TIMES, + "setpgid": SYS_SETPGID, + "getpgid": SYS_GETPGID, + "getsid": SYS_GETSID, + "setsid": SYS_SETSID, + "getgroups": SYS_GETGROUPS, + "setgroups": SYS_SETGROUPS, + "uname": SYS_UNAME, + "sethostname": SYS_SETHOSTNAME, + "setdomainname": SYS_SETDOMAINNAME, + "getrlimit": SYS_GETRLIMIT, + "setrlimit": SYS_SETRLIMIT, + "getrusage": SYS_GETRUSAGE, + "umask": SYS_UMASK, + "prctl": SYS_PRCTL, + "getcpu": SYS_GETCPU, + "gettimeofday": SYS_GETTIMEOFDAY, + "settimeofday": SYS_SETTIMEOFDAY, + "adjtimex": SYS_ADJTIMEX, + "getpid": SYS_GETPID, + "getppid": SYS_GETPPID, + "getuid": SYS_GETUID, + "geteuid": SYS_GETEUID, + "getgid": SYS_GETGID, + "getegid": SYS_GETEGID, + "gettid": SYS_GETTID, + "sysinfo": SYS_SYSINFO, + "mq_open": SYS_MQ_OPEN, + "mq_unlink": SYS_MQ_UNLINK, + "mq_timedsend": SYS_MQ_TIMEDSEND, + "mq_timedreceive": SYS_MQ_TIMEDRECEIVE, + "mq_notify": SYS_MQ_NOTIFY, + "mq_getsetattr": SYS_MQ_GETSETATTR, + "msgget": SYS_MSGGET, + "msgctl": SYS_MSGCTL, + "msgrcv": SYS_MSGRCV, + "msgsnd": SYS_MSGSND, + "semget": SYS_SEMGET, + "semctl": SYS_SEMCTL, + "semtimedop": SYS_SEMTIMEDOP, + "semop": SYS_SEMOP, + "shmget": SYS_SHMGET, + "shmctl": SYS_SHMCTL, + "shmat": SYS_SHMAT, + "shmdt": SYS_SHMDT, + "socket": SYS_SOCKET, + "socketpair": SYS_SOCKETPAIR, + "bind": SYS_BIND, + "listen": SYS_LISTEN, + "accept": SYS_ACCEPT, + "connect": SYS_CONNECT, + "getsockname": SYS_GETSOCKNAME, + "getpeername": SYS_GETPEERNAME, + "sendto": SYS_SENDTO, + "recvfrom": SYS_RECVFROM, + "setsockopt": SYS_SETSOCKOPT, + "getsockopt": SYS_GETSOCKOPT, + "shutdown": SYS_SHUTDOWN, + "sendmsg": SYS_SENDMSG, + "recvmsg": SYS_RECVMSG, + "readahead": SYS_READAHEAD, + "brk": SYS_BRK, + "munmap": SYS_MUNMAP, + "mremap": SYS_MREMAP, + "add_key": SYS_ADD_KEY, + "request_key": SYS_REQUEST_KEY, + "keyctl": SYS_KEYCTL, + "clone": SYS_CLONE, + "execve": SYS_EXECVE, + "mmap": SYS_MMAP, + "fadvise64": SYS_FADVISE64, + "swapon": SYS_SWAPON, + "swapoff": SYS_SWAPOFF, + "mprotect": SYS_MPROTECT, + "msync": SYS_MSYNC, + "mlock": SYS_MLOCK, + "munlock": SYS_MUNLOCK, + "mlockall": SYS_MLOCKALL, + "munlockall": SYS_MUNLOCKALL, + "mincore": SYS_MINCORE, + "madvise": SYS_MADVISE, + "remap_file_pages": SYS_REMAP_FILE_PAGES, + "mbind": SYS_MBIND, + "get_mempolicy": SYS_GET_MEMPOLICY, + "set_mempolicy": SYS_SET_MEMPOLICY, + "migrate_pages": SYS_MIGRATE_PAGES, + "move_pages": SYS_MOVE_PAGES, + "rt_tgsigqueueinfo": SYS_RT_TGSIGQUEUEINFO, + "perf_event_open": SYS_PERF_EVENT_OPEN, + "accept4": SYS_ACCEPT4, + "recvmmsg": SYS_RECVMMSG, + "wait4": SYS_WAIT4, + "prlimit64": SYS_PRLIMIT64, + "fanotify_init": SYS_FANOTIFY_INIT, + "fanotify_mark": SYS_FANOTIFY_MARK, + "name_to_handle_at": SYS_NAME_TO_HANDLE_AT, + "open_by_handle_at": SYS_OPEN_BY_HANDLE_AT, + "clock_adjtime": SYS_CLOCK_ADJTIME, + "syncfs": SYS_SYNCFS, + "setns": SYS_SETNS, + "sendmmsg": SYS_SENDMMSG, + "process_vm_readv": SYS_PROCESS_VM_READV, + "process_vm_writev": SYS_PROCESS_VM_WRITEV, + "kcmp": SYS_KCMP, + "finit_module": SYS_FINIT_MODULE, + "sched_setattr": SYS_SCHED_SETATTR, + "sched_getattr": SYS_SCHED_GETATTR, + "renameat2": SYS_RENAMEAT2, + "seccomp": SYS_SECCOMP, + "getrandom": SYS_GETRANDOM, + "memfd_create": SYS_MEMFD_CREATE, + "bpf": SYS_BPF, + "execveat": SYS_EXECVEAT, + "userfaultfd": SYS_USERFAULTFD, + "membarrier": SYS_MEMBARRIER, + "mlock2": SYS_MLOCK2, + "copy_file_range": SYS_COPY_FILE_RANGE, + "preadv2": SYS_PREADV2, + "pwritev2": SYS_PWRITEV2, + "pkey_mprotect": SYS_PKEY_MPROTECT, + "pkey_alloc": SYS_PKEY_ALLOC, + "pkey_free": SYS_PKEY_FREE, + "statx": SYS_STATX, + "io_pgetevents": SYS_IO_PGETEVENTS, + "rseq": SYS_RSEQ, + "kexec_file_load": SYS_KEXEC_FILE_LOAD, + "pidfd_send_signal": SYS_PIDFD_SEND_SIGNAL, + "io_uring_setup": SYS_IO_URING_SETUP, + "io_uring_enter": SYS_IO_URING_ENTER, + "io_uring_register": SYS_IO_URING_REGISTER, + "open_tree": SYS_OPEN_TREE, + "move_mount": SYS_MOVE_MOUNT, + "fsopen": SYS_FSOPEN, + "fsconfig": SYS_FSCONFIG, + "fsmount": SYS_FSMOUNT, + "fspick": SYS_FSPICK, + "pidfd_open": SYS_PIDFD_OPEN, + "clone3": SYS_CLONE3, + "close_range": SYS_CLOSE_RANGE, + "openat2": SYS_OPENAT2, + "pidfd_getfd": SYS_PIDFD_GETFD, + "faccessat2": SYS_FACCESSAT2, + "process_madvise": SYS_PROCESS_MADVISE, + "epoll_pwait2": SYS_EPOLL_PWAIT2, + "mount_setattr": SYS_MOUNT_SETATTR, + "quotactl_fd": SYS_QUOTACTL_FD, + "landlock_create_ruleset": SYS_LANDLOCK_CREATE_RULESET, + "landlock_add_rule": SYS_LANDLOCK_ADD_RULE, + "landlock_restrict_self": SYS_LANDLOCK_RESTRICT_SELF, + "memfd_secret": SYS_MEMFD_SECRET, + "process_mrelease": SYS_PROCESS_MRELEASE, + "futex_waitv": SYS_FUTEX_WAITV, + "set_mempolicy_home_node": SYS_SET_MEMPOLICY_HOME_NODE, + "cachestat": SYS_CACHESTAT, + "fchmodat2": SYS_FCHMODAT2, + "map_shadow_stack": SYS_MAP_SHADOW_STACK, + "futex_wake": SYS_FUTEX_WAKE, + "futex_wait": SYS_FUTEX_WAIT, + "futex_requeue": SYS_FUTEX_REQUEUE, + "statmount": SYS_STATMOUNT, + "listmount": SYS_LISTMOUNT, + "lsm_get_self_attr": SYS_LSM_GET_SELF_ATTR, + "lsm_set_self_attr": SYS_LSM_SET_SELF_ATTR, + "lsm_list_modules": SYS_LSM_LIST_MODULES, + "mseal": SYS_MSEAL, +} + +const ( + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 + SYS_KEXEC_FILE_LOAD = 294 + SYS_PIDFD_SEND_SIGNAL = 424 + SYS_IO_URING_SETUP = 425 + SYS_IO_URING_ENTER = 426 + SYS_IO_URING_REGISTER = 427 + SYS_OPEN_TREE = 428 + SYS_MOVE_MOUNT = 429 + SYS_FSOPEN = 430 + SYS_FSCONFIG = 431 + SYS_FSMOUNT = 432 + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 + SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 + SYS_FACCESSAT2 = 439 + SYS_PROCESS_MADVISE = 440 + SYS_EPOLL_PWAIT2 = 441 + SYS_MOUNT_SETATTR = 442 + SYS_QUOTACTL_FD = 443 + SYS_LANDLOCK_CREATE_RULESET = 444 + SYS_LANDLOCK_ADD_RULE = 445 + SYS_LANDLOCK_RESTRICT_SELF = 446 + SYS_MEMFD_SECRET = 447 + SYS_PROCESS_MRELEASE = 448 + SYS_FUTEX_WAITV = 449 + SYS_SET_MEMPOLICY_HOME_NODE = 450 + SYS_CACHESTAT = 451 + SYS_FCHMODAT2 = 452 + SYS_MAP_SHADOW_STACK = 453 + SYS_FUTEX_WAKE = 454 + SYS_FUTEX_WAIT = 455 + SYS_FUTEX_REQUEUE = 456 + SYS_STATMOUNT = 457 + SYS_LISTMOUNT = 458 + SYS_LSM_GET_SELF_ATTR = 459 + SYS_LSM_SET_SELF_ATTR = 460 + SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 +) diff --git a/container/std/syscall_test.go b/container/std/syscall_test.go new file mode 100644 index 00000000..b82cc46a --- /dev/null +++ b/container/std/syscall_test.go @@ -0,0 +1,21 @@ +package std_test + +import ( + "testing" + + "hakurei.app/container/std" +) + +func TestSyscallResolveName(t *testing.T) { + t.Parallel() + + for name, want := range std.Syscalls() { + t.Run(name, func(t *testing.T) { + t.Parallel() + + if got, ok := std.SyscallResolveName(name); !ok || got != want { + t.Errorf("SyscallResolveName(%q) = %d, want %d", name, got, want) + } + }) + } +} |
