github.com/nicocha30/gvisor-ligolo@v0.0.0-20230726075806-989fa2c0a413/pkg/sentry/strace/linux64_amd64.go (about)

     1  // Copyright 2019 The gVisor Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  //go:build amd64
    16  // +build amd64
    17  
    18  package strace
    19  
    20  import (
    21  	"github.com/nicocha30/gvisor-ligolo/pkg/abi"
    22  	"github.com/nicocha30/gvisor-ligolo/pkg/sentry/arch"
    23  )
    24  
    25  // linuxAMD64 provides a mapping of the Linux amd64 syscalls and their argument
    26  // types for display / formatting.
    27  var linuxAMD64 = SyscallMap{
    28  	0:   makeSyscallInfo("read", FD, ReadBuffer, Hex),
    29  	1:   makeSyscallInfo("write", FD, WriteBuffer, Hex),
    30  	2:   makeSyscallInfo("open", Path, OpenFlags, Mode),
    31  	3:   makeSyscallInfo("close", FD),
    32  	4:   makeSyscallInfo("stat", Path, Stat),
    33  	5:   makeSyscallInfo("fstat", FD, Stat),
    34  	6:   makeSyscallInfo("lstat", Path, Stat),
    35  	7:   makeSyscallInfo("poll", PollFDs, Hex, Hex),
    36  	8:   makeSyscallInfo("lseek", Hex, Hex, Hex),
    37  	9:   makeSyscallInfo("mmap", Hex, Hex, MmapProt, MmapFlags, FD, Hex),
    38  	10:  makeSyscallInfo("mprotect", Hex, Hex, Hex),
    39  	11:  makeSyscallInfo("munmap", Hex, Hex),
    40  	12:  makeSyscallInfo("brk", Hex),
    41  	13:  makeSyscallInfo("rt_sigaction", Signal, SigAction, PostSigAction, Hex),
    42  	14:  makeSyscallInfo("rt_sigprocmask", SignalMaskAction, SigSet, PostSigSet, Hex),
    43  	15:  makeSyscallInfo("rt_sigreturn"),
    44  	16:  makeSyscallInfo("ioctl", FD, Hex, Hex),
    45  	17:  makeSyscallInfo("pread64", FD, ReadBuffer, Hex, Hex),
    46  	18:  makeSyscallInfo("pwrite64", FD, WriteBuffer, Hex, Hex),
    47  	19:  makeSyscallInfo("readv", FD, ReadIOVec, Hex),
    48  	20:  makeSyscallInfo("writev", FD, WriteIOVec, Hex),
    49  	21:  makeSyscallInfo("access", Path, Oct),
    50  	22:  makeSyscallInfo("pipe", PipeFDs),
    51  	23:  makeSyscallInfo("select", Hex, SelectFDSet, SelectFDSet, SelectFDSet, Timeval),
    52  	24:  makeSyscallInfo("sched_yield"),
    53  	25:  makeSyscallInfo("mremap", Hex, Hex, Hex, Hex, Hex),
    54  	26:  makeSyscallInfo("msync", Hex, Hex, Hex),
    55  	27:  makeSyscallInfo("mincore", Hex, Hex, Hex),
    56  	28:  makeSyscallInfo("madvise", Hex, Hex, Hex),
    57  	29:  makeSyscallInfo("shmget", Hex, Hex, Hex),
    58  	30:  makeSyscallInfo("shmat", Hex, Hex, Hex),
    59  	31:  makeSyscallInfo("shmctl", Hex, Hex, Hex),
    60  	32:  makeSyscallInfo("dup", FD),
    61  	33:  makeSyscallInfo("dup2", FD, FD),
    62  	34:  makeSyscallInfo("pause"),
    63  	35:  makeSyscallInfo("nanosleep", Timespec, PostTimespec),
    64  	36:  makeSyscallInfo("getitimer", ItimerType, PostItimerVal),
    65  	37:  makeSyscallInfo("alarm", Hex),
    66  	38:  makeSyscallInfo("setitimer", ItimerType, ItimerVal, PostItimerVal),
    67  	39:  makeSyscallInfo("getpid"),
    68  	40:  makeSyscallInfo("sendfile", FD, FD, Hex, Hex),
    69  	41:  makeSyscallInfo("socket", SockFamily, SockType, SockProtocol),
    70  	42:  makeSyscallInfo("connect", FD, SockAddr, Hex),
    71  	43:  makeSyscallInfo("accept", FD, PostSockAddr, SockLen),
    72  	44:  makeSyscallInfo("sendto", FD, Hex, Hex, Hex, SockAddr, Hex),
    73  	45:  makeSyscallInfo("recvfrom", FD, Hex, Hex, Hex, PostSockAddr, SockLen),
    74  	46:  makeSyscallInfo("sendmsg", FD, SendMsgHdr, Hex),
    75  	47:  makeSyscallInfo("recvmsg", FD, RecvMsgHdr, Hex),
    76  	48:  makeSyscallInfo("shutdown", FD, Hex),
    77  	49:  makeSyscallInfo("bind", FD, SockAddr, Hex),
    78  	50:  makeSyscallInfo("listen", FD, Hex),
    79  	51:  makeSyscallInfo("getsockname", FD, PostSockAddr, SockLen),
    80  	52:  makeSyscallInfo("getpeername", FD, PostSockAddr, SockLen),
    81  	53:  makeSyscallInfo("socketpair", SockFamily, SockType, SockProtocol, Hex),
    82  	54:  makeSyscallInfo("setsockopt", FD, SockOptLevel, SockOptName, SetSockOptVal, Hex /* length by value, not a pointer */),
    83  	55:  makeSyscallInfo("getsockopt", FD, SockOptLevel, SockOptName, GetSockOptVal, SockLen),
    84  	56:  makeSyscallInfo("clone", CloneFlags, Hex, Hex, Hex, Hex),
    85  	57:  makeSyscallInfo("fork"),
    86  	58:  makeSyscallInfo("vfork"),
    87  	59:  makeSyscallInfo("execve", Path, ExecveStringVector, ExecveStringVector),
    88  	60:  makeSyscallInfo("exit", Hex),
    89  	61:  makeSyscallInfo("wait4", Hex, Hex, Hex, Rusage),
    90  	62:  makeSyscallInfo("kill", Hex, Signal),
    91  	63:  makeSyscallInfo("uname", Uname),
    92  	64:  makeSyscallInfo("semget", Hex, Hex, Hex),
    93  	65:  makeSyscallInfo("semop", Hex, Hex, Hex),
    94  	66:  makeSyscallInfo("semctl", Hex, Hex, Hex, Hex),
    95  	67:  makeSyscallInfo("shmdt", Hex),
    96  	68:  makeSyscallInfo("msgget", Hex, Hex),
    97  	69:  makeSyscallInfo("msgsnd", Hex, Hex, Hex, Hex),
    98  	70:  makeSyscallInfo("msgrcv", Hex, Hex, Hex, Hex, Hex),
    99  	71:  makeSyscallInfo("msgctl", Hex, Hex, Hex),
   100  	72:  makeSyscallInfo("fcntl", FD, Hex, Hex),
   101  	73:  makeSyscallInfo("flock", FD, Hex),
   102  	74:  makeSyscallInfo("fsync", FD),
   103  	75:  makeSyscallInfo("fdatasync", FD),
   104  	76:  makeSyscallInfo("truncate", Path, Hex),
   105  	77:  makeSyscallInfo("ftruncate", FD, Hex),
   106  	78:  makeSyscallInfo("getdents", FD, Hex, Hex),
   107  	79:  makeSyscallInfo("getcwd", PostPath, Hex),
   108  	80:  makeSyscallInfo("chdir", Path),
   109  	81:  makeSyscallInfo("fchdir", FD),
   110  	82:  makeSyscallInfo("rename", Path, Path),
   111  	83:  makeSyscallInfo("mkdir", Path, Oct),
   112  	84:  makeSyscallInfo("rmdir", Path),
   113  	85:  makeSyscallInfo("creat", Path, Oct),
   114  	86:  makeSyscallInfo("link", Path, Path),
   115  	87:  makeSyscallInfo("unlink", Path),
   116  	88:  makeSyscallInfo("symlink", Path, Path),
   117  	89:  makeSyscallInfo("readlink", Path, ReadBuffer, Hex),
   118  	90:  makeSyscallInfo("chmod", Path, Mode),
   119  	91:  makeSyscallInfo("fchmod", FD, Mode),
   120  	92:  makeSyscallInfo("chown", Path, Hex, Hex),
   121  	93:  makeSyscallInfo("fchown", FD, Hex, Hex),
   122  	94:  makeSyscallInfo("lchown", Path, Hex, Hex),
   123  	95:  makeSyscallInfo("umask", Hex),
   124  	96:  makeSyscallInfo("gettimeofday", Timeval, Hex),
   125  	97:  makeSyscallInfo("getrlimit", Hex, Hex),
   126  	98:  makeSyscallInfo("getrusage", Hex, Rusage),
   127  	99:  makeSyscallInfo("sysinfo", Hex),
   128  	100: makeSyscallInfo("times", Hex),
   129  	101: makeSyscallInfo("ptrace", PtraceRequest, Hex, Hex, Hex),
   130  	102: makeSyscallInfo("getuid"),
   131  	103: makeSyscallInfo("syslog", Hex, Hex, Hex),
   132  	104: makeSyscallInfo("getgid"),
   133  	105: makeSyscallInfo("setuid", Hex),
   134  	106: makeSyscallInfo("setgid", Hex),
   135  	107: makeSyscallInfo("geteuid"),
   136  	108: makeSyscallInfo("getegid"),
   137  	109: makeSyscallInfo("setpgid", Hex, Hex),
   138  	110: makeSyscallInfo("getppid"),
   139  	111: makeSyscallInfo("getpgrp"),
   140  	112: makeSyscallInfo("setsid"),
   141  	113: makeSyscallInfo("setreuid", Hex, Hex),
   142  	114: makeSyscallInfo("setregid", Hex, Hex),
   143  	115: makeSyscallInfo("getgroups", Hex, Hex),
   144  	116: makeSyscallInfo("setgroups", Hex, Hex),
   145  	117: makeSyscallInfo("setresuid", Hex, Hex, Hex),
   146  	118: makeSyscallInfo("getresuid", Hex, Hex, Hex),
   147  	119: makeSyscallInfo("setresgid", Hex, Hex, Hex),
   148  	120: makeSyscallInfo("getresgid", Hex, Hex, Hex),
   149  	121: makeSyscallInfo("getpgid", Hex),
   150  	122: makeSyscallInfo("setfsuid", Hex),
   151  	123: makeSyscallInfo("setfsgid", Hex),
   152  	124: makeSyscallInfo("getsid", Hex),
   153  	125: makeSyscallInfo("capget", CapHeader, PostCapData),
   154  	126: makeSyscallInfo("capset", CapHeader, CapData),
   155  	127: makeSyscallInfo("rt_sigpending", Hex),
   156  	128: makeSyscallInfo("rt_sigtimedwait", SigSet, Hex, Timespec, Hex),
   157  	129: makeSyscallInfo("rt_sigqueueinfo", Hex, Signal, Hex),
   158  	130: makeSyscallInfo("rt_sigsuspend", Hex),
   159  	131: makeSyscallInfo("sigaltstack", Hex, Hex),
   160  	132: makeSyscallInfo("utime", Path, Utimbuf),
   161  	133: makeSyscallInfo("mknod", Path, Mode, Hex),
   162  	134: makeSyscallInfo("uselib", Hex),
   163  	135: makeSyscallInfo("personality", Hex),
   164  	136: makeSyscallInfo("ustat", Hex, Hex),
   165  	137: makeSyscallInfo("statfs", Path, Hex),
   166  	138: makeSyscallInfo("fstatfs", FD, Hex),
   167  	139: makeSyscallInfo("sysfs", Hex, Hex, Hex),
   168  	140: makeSyscallInfo("getpriority", Hex, Hex),
   169  	141: makeSyscallInfo("setpriority", Hex, Hex, Hex),
   170  	142: makeSyscallInfo("sched_setparam", Hex, Hex),
   171  	143: makeSyscallInfo("sched_getparam", Hex, Hex),
   172  	144: makeSyscallInfo("sched_setscheduler", Hex, Hex, Hex),
   173  	145: makeSyscallInfo("sched_getscheduler", Hex),
   174  	146: makeSyscallInfo("sched_get_priority_max", Hex),
   175  	147: makeSyscallInfo("sched_get_priority_min", Hex),
   176  	148: makeSyscallInfo("sched_rr_get_interval", Hex, Hex),
   177  	149: makeSyscallInfo("mlock", Hex, Hex),
   178  	150: makeSyscallInfo("munlock", Hex, Hex),
   179  	151: makeSyscallInfo("mlockall", Hex),
   180  	152: makeSyscallInfo("munlockall"),
   181  	153: makeSyscallInfo("vhangup"),
   182  	154: makeSyscallInfo("modify_ldt", Hex, Hex, Hex),
   183  	155: makeSyscallInfo("pivot_root", Path, Path),
   184  	156: makeSyscallInfo("_sysctl", Hex),
   185  	157: makeSyscallInfo("prctl", Hex, Hex, Hex, Hex, Hex),
   186  	158: makeSyscallInfo("arch_prctl", Hex, Hex),
   187  	159: makeSyscallInfo("adjtimex", Hex),
   188  	160: makeSyscallInfo("setrlimit", Hex, Hex),
   189  	161: makeSyscallInfo("chroot", Path),
   190  	162: makeSyscallInfo("sync"),
   191  	163: makeSyscallInfo("acct", Hex),
   192  	164: makeSyscallInfo("settimeofday", Timeval, Hex),
   193  	165: makeSyscallInfo("mount", Path, Path, Path, Hex, Path),
   194  	166: makeSyscallInfo("umount2", Path, Hex),
   195  	167: makeSyscallInfo("swapon", Hex, Hex),
   196  	168: makeSyscallInfo("swapoff", Hex),
   197  	169: makeSyscallInfo("reboot", Hex, Hex, Hex, Hex),
   198  	170: makeSyscallInfo("sethostname", Hex, Hex),
   199  	171: makeSyscallInfo("setdomainname", Hex, Hex),
   200  	172: makeSyscallInfo("iopl", Hex),
   201  	173: makeSyscallInfo("ioperm", Hex, Hex, Hex),
   202  	174: makeSyscallInfo("create_module", Path, Hex),
   203  	175: makeSyscallInfo("init_module", Hex, Hex, Hex),
   204  	176: makeSyscallInfo("delete_module", Hex, Hex),
   205  	177: makeSyscallInfo("get_kernel_syms", Hex),
   206  	// 178: query_module (only present in Linux < 2.6)
   207  	179: makeSyscallInfo("quotactl", Hex, Hex, Hex, Hex),
   208  	180: makeSyscallInfo("nfsservctl", Hex, Hex, Hex),
   209  	// 181: getpmsg (not implemented in the Linux kernel)
   210  	// 182: putpmsg (not implemented in the Linux kernel)
   211  	// 183: afs_syscall (not implemented in the Linux kernel)
   212  	// 184: tuxcall (not implemented in the Linux kernel)
   213  	// 185: security (not implemented in the Linux kernel)
   214  	186: makeSyscallInfo("gettid"),
   215  	187: makeSyscallInfo("readahead", Hex, Hex, Hex),
   216  	188: makeSyscallInfo("setxattr", Path, Path, Hex, Hex, Hex),
   217  	189: makeSyscallInfo("lsetxattr", Path, Path, Hex, Hex, Hex),
   218  	190: makeSyscallInfo("fsetxattr", FD, Path, Hex, Hex, Hex),
   219  	191: makeSyscallInfo("getxattr", Path, Path, Hex, Hex),
   220  	192: makeSyscallInfo("lgetxattr", Path, Path, Hex, Hex),
   221  	193: makeSyscallInfo("fgetxattr", FD, Path, Hex, Hex),
   222  	194: makeSyscallInfo("listxattr", Path, Path, Hex),
   223  	195: makeSyscallInfo("llistxattr", Path, Path, Hex),
   224  	196: makeSyscallInfo("flistxattr", FD, Path, Hex),
   225  	197: makeSyscallInfo("removexattr", Path, Path),
   226  	198: makeSyscallInfo("lremovexattr", Path, Path),
   227  	199: makeSyscallInfo("fremovexattr", FD, Path),
   228  	200: makeSyscallInfo("tkill", Hex, Signal),
   229  	201: makeSyscallInfo("time", Hex),
   230  	202: makeSyscallInfo("futex", Hex, FutexOp, Hex, Timespec, Hex, Hex),
   231  	203: makeSyscallInfo("sched_setaffinity", Hex, Hex, Hex),
   232  	204: makeSyscallInfo("sched_getaffinity", Hex, Hex, Hex),
   233  	205: makeSyscallInfo("set_thread_area", Hex),
   234  	206: makeSyscallInfo("io_setup", Hex, Hex),
   235  	207: makeSyscallInfo("io_destroy", Hex),
   236  	208: makeSyscallInfo("io_getevents", Hex, Hex, Hex, Hex, Timespec),
   237  	209: makeSyscallInfo("io_submit", Hex, Hex, Hex),
   238  	210: makeSyscallInfo("io_cancel", Hex, Hex, Hex),
   239  	211: makeSyscallInfo("get_thread_area", Hex),
   240  	212: makeSyscallInfo("lookup_dcookie", Hex, Hex, Hex),
   241  	213: makeSyscallInfo("epoll_create", Hex),
   242  	// 214: epoll_ctl_old (not implemented in the Linux kernel)
   243  	// 215: epoll_wait_old (not implemented in the Linux kernel)
   244  	216: makeSyscallInfo("remap_file_pages", Hex, Hex, Hex, Hex, Hex),
   245  	217: makeSyscallInfo("getdents64", FD, Hex, Hex),
   246  	218: makeSyscallInfo("set_tid_address", Hex),
   247  	219: makeSyscallInfo("restart_syscall"),
   248  	220: makeSyscallInfo("semtimedop", Hex, Hex, Hex, Hex),
   249  	221: makeSyscallInfo("fadvise64", FD, Hex, Hex, Hex),
   250  	222: makeSyscallInfo("timer_create", Hex, Hex, Hex),
   251  	223: makeSyscallInfo("timer_settime", Hex, Hex, ItimerSpec, PostItimerSpec),
   252  	224: makeSyscallInfo("timer_gettime", Hex, PostItimerSpec),
   253  	225: makeSyscallInfo("timer_getoverrun", Hex),
   254  	226: makeSyscallInfo("timer_delete", Hex),
   255  	227: makeSyscallInfo("clock_settime", Hex, Timespec),
   256  	228: makeSyscallInfo("clock_gettime", Hex, PostTimespec),
   257  	229: makeSyscallInfo("clock_getres", Hex, PostTimespec),
   258  	230: makeSyscallInfo("clock_nanosleep", Hex, Hex, Timespec, PostTimespec),
   259  	231: makeSyscallInfo("exit_group", Hex),
   260  	232: makeSyscallInfo("epoll_wait", FD, EpollEvents, Hex, Hex),
   261  	233: makeSyscallInfo("epoll_ctl", FD, EpollCtlOp, FD, EpollEvent),
   262  	234: makeSyscallInfo("tgkill", Hex, Hex, Signal),
   263  	235: makeSyscallInfo("utimes", Path, Timeval),
   264  	// 236: vserver (not implemented in the Linux kernel)
   265  	237: makeSyscallInfo("mbind", Hex, Hex, Hex, Hex, Hex, Hex),
   266  	238: makeSyscallInfo("set_mempolicy", Hex, Hex, Hex),
   267  	239: makeSyscallInfo("get_mempolicy", Hex, Hex, Hex, Hex, Hex),
   268  	240: makeSyscallInfo("mq_open", Hex, Hex, Hex, Hex),
   269  	241: makeSyscallInfo("mq_unlink", Hex),
   270  	242: makeSyscallInfo("mq_timedsend", Hex, Hex, Hex, Hex, Hex),
   271  	243: makeSyscallInfo("mq_timedreceive", Hex, Hex, Hex, Hex, Hex),
   272  	244: makeSyscallInfo("mq_notify", Hex, Hex),
   273  	245: makeSyscallInfo("mq_getsetattr", Hex, Hex, Hex),
   274  	246: makeSyscallInfo("kexec_load", Hex, Hex, Hex, Hex),
   275  	247: makeSyscallInfo("waitid", Hex, Hex, Hex, Hex, Rusage),
   276  	248: makeSyscallInfo("add_key", Hex, Hex, Hex, Hex, Hex),
   277  	249: makeSyscallInfo("request_key", Hex, Hex, Hex, Hex),
   278  	250: makeSyscallInfo("keyctl", Hex, Hex, Hex, Hex, Hex),
   279  	251: makeSyscallInfo("ioprio_set", Hex, Hex, Hex),
   280  	252: makeSyscallInfo("ioprio_get", Hex, Hex),
   281  	253: makeSyscallInfo("inotify_init"),
   282  	254: makeSyscallInfo("inotify_add_watch", Hex, Path, Hex),
   283  	255: makeSyscallInfo("inotify_rm_watch", Hex, Hex),
   284  	256: makeSyscallInfo("migrate_pages", Hex, Hex, Hex, Hex),
   285  	257: makeSyscallInfo("openat", FD, Path, OpenFlags, Mode),
   286  	258: makeSyscallInfo("mkdirat", FD, Path, Hex),
   287  	259: makeSyscallInfo("mknodat", FD, Path, Mode, Hex),
   288  	260: makeSyscallInfo("fchownat", FD, Path, Hex, Hex, Hex),
   289  	261: makeSyscallInfo("futimesat", FD, Path, Hex),
   290  	262: makeSyscallInfo("newfstatat", FD, Path, Stat, Hex),
   291  	263: makeSyscallInfo("unlinkat", FD, Path, Hex),
   292  	264: makeSyscallInfo("renameat", FD, Path, Hex, Path),
   293  	265: makeSyscallInfo("linkat", FD, Path, Hex, Path, Hex),
   294  	266: makeSyscallInfo("symlinkat", Path, FD, Path),
   295  	267: makeSyscallInfo("readlinkat", FD, Path, ReadBuffer, Hex),
   296  	268: makeSyscallInfo("fchmodat", FD, Path, Mode),
   297  	269: makeSyscallInfo("faccessat", FD, Path, Oct, Hex),
   298  	270: makeSyscallInfo("pselect6", Hex, SelectFDSet, SelectFDSet, SelectFDSet, Timespec, SigSet),
   299  	271: makeSyscallInfo("ppoll", PollFDs, Hex, Timespec, SigSet, Hex),
   300  	272: makeSyscallInfo("unshare", CloneFlags),
   301  	273: makeSyscallInfo("set_robust_list", Hex, Hex),
   302  	274: makeSyscallInfo("get_robust_list", Hex, Hex, Hex),
   303  	275: makeSyscallInfo("splice", FD, Hex, FD, Hex, Hex, Hex),
   304  	276: makeSyscallInfo("tee", FD, FD, Hex, Hex),
   305  	277: makeSyscallInfo("sync_file_range", FD, Hex, Hex, Hex),
   306  	278: makeSyscallInfo("vmsplice", FD, Hex, Hex, Hex),
   307  	279: makeSyscallInfo("move_pages", Hex, Hex, Hex, Hex, Hex, Hex),
   308  	280: makeSyscallInfo("utimensat", FD, Path, UTimeTimespec, Hex),
   309  	281: makeSyscallInfo("epoll_pwait", FD, EpollEvents, Hex, Hex, SigSet, Hex),
   310  	282: makeSyscallInfo("signalfd", Hex, Hex, Hex),
   311  	283: makeSyscallInfo("timerfd_create", Hex, Hex),
   312  	284: makeSyscallInfo("eventfd", Hex),
   313  	285: makeSyscallInfo("fallocate", FD, Hex, Hex, Hex),
   314  	286: makeSyscallInfo("timerfd_settime", FD, Hex, ItimerSpec, PostItimerSpec),
   315  	287: makeSyscallInfo("timerfd_gettime", FD, PostItimerSpec),
   316  	288: makeSyscallInfo("accept4", FD, PostSockAddr, SockLen, SockFlags),
   317  	289: makeSyscallInfo("signalfd4", Hex, Hex, Hex, Hex),
   318  	290: makeSyscallInfo("eventfd2", Hex, Hex),
   319  	291: makeSyscallInfo("epoll_create1", Hex),
   320  	292: makeSyscallInfo("dup3", FD, FD, Hex),
   321  	293: makeSyscallInfo("pipe2", PipeFDs, Hex),
   322  	294: makeSyscallInfo("inotify_init1", Hex),
   323  	295: makeSyscallInfo("preadv", FD, ReadIOVec, Hex, Hex),
   324  	296: makeSyscallInfo("pwritev", FD, WriteIOVec, Hex, Hex),
   325  	297: makeSyscallInfo("rt_tgsigqueueinfo", Hex, Hex, Signal, Hex),
   326  	298: makeSyscallInfo("perf_event_open", Hex, Hex, Hex, Hex, Hex),
   327  	299: makeSyscallInfo("recvmmsg", FD, Hex, Hex, Hex, Hex),
   328  	300: makeSyscallInfo("fanotify_init", Hex, Hex),
   329  	301: makeSyscallInfo("fanotify_mark", Hex, Hex, Hex, Hex, Hex),
   330  	302: makeSyscallInfo("prlimit64", Hex, Hex, Hex, Hex),
   331  	303: makeSyscallInfo("name_to_handle_at", FD, Hex, Hex, Hex, Hex),
   332  	304: makeSyscallInfo("open_by_handle_at", FD, Hex, Hex),
   333  	305: makeSyscallInfo("clock_adjtime", Hex, Hex),
   334  	306: makeSyscallInfo("syncfs", FD),
   335  	307: makeSyscallInfo("sendmmsg", FD, Hex, Hex, Hex),
   336  	308: makeSyscallInfo("setns", FD, Hex),
   337  	309: makeSyscallInfo("getcpu", Hex, Hex, Hex),
   338  	310: makeSyscallInfo("process_vm_readv", Hex, ReadIOVec, Hex, IOVec, Hex, Hex),
   339  	311: makeSyscallInfo("process_vm_writev", Hex, IOVec, Hex, WriteIOVec, Hex, Hex),
   340  	312: makeSyscallInfo("kcmp", Hex, Hex, Hex, Hex, Hex),
   341  	313: makeSyscallInfo("finit_module", Hex, Hex, Hex),
   342  	314: makeSyscallInfo("sched_setattr", Hex, Hex, Hex),
   343  	315: makeSyscallInfo("sched_getattr", Hex, Hex, Hex),
   344  	316: makeSyscallInfo("renameat2", FD, Path, Hex, Path, Hex),
   345  	317: makeSyscallInfo("seccomp", Hex, Hex, Hex),
   346  	318: makeSyscallInfo("getrandom", Hex, Hex, Hex),
   347  	319: makeSyscallInfo("memfd_create", Path, Hex), // Not quite a path, but close.
   348  	320: makeSyscallInfo("kexec_file_load", FD, FD, Hex, Hex, Hex),
   349  	321: makeSyscallInfo("bpf", Hex, Hex, Hex),
   350  	322: makeSyscallInfo("execveat", FD, Path, ExecveStringVector, ExecveStringVector, Hex),
   351  	323: makeSyscallInfo("userfaultfd", Hex),
   352  	324: makeSyscallInfo("membarrier", Hex, Hex),
   353  	325: makeSyscallInfo("mlock2", Hex, Hex, Hex),
   354  	326: makeSyscallInfo("copy_file_range", FD, Hex, FD, Hex, Hex, Hex),
   355  	327: makeSyscallInfo("preadv2", FD, ReadIOVec, Hex, Hex, Hex),
   356  	328: makeSyscallInfo("pwritev2", FD, WriteIOVec, Hex, Hex, Hex),
   357  	329: makeSyscallInfo("pkey_mprotect", Hex, Hex, Hex, Hex),
   358  	330: makeSyscallInfo("pkey_alloc", Hex, Hex),
   359  	331: makeSyscallInfo("pkey_free", Hex),
   360  	332: makeSyscallInfo("statx", FD, Path, Hex, Hex, Hex),
   361  	333: makeSyscallInfo("io_pgetevents", Hex, Hex, Hex, Hex, Timespec, SigSet),
   362  	334: makeSyscallInfo("rseq", Hex, Hex, Hex, Hex),
   363  	424: makeSyscallInfo("pidfd_send_signal", FD, Signal, Hex, Hex),
   364  	425: makeSyscallInfo("io_uring_setup", Hex, Hex),
   365  	426: makeSyscallInfo("io_uring_enter", FD, Hex, Hex, Hex, SigSet, Hex),
   366  	427: makeSyscallInfo("io_uring_register", FD, Hex, Hex, Hex),
   367  	428: makeSyscallInfo("open_tree", FD, Path, Hex),
   368  	429: makeSyscallInfo("move_mount", FD, Path, FD, Path, Hex),
   369  	430: makeSyscallInfo("fsopen", Path, Hex), // Not quite a path, but close.
   370  	431: makeSyscallInfo("fsconfig", FD, Hex, Hex, Hex, Hex),
   371  	432: makeSyscallInfo("fsmount", FD, Hex, Hex),
   372  	433: makeSyscallInfo("fspick", FD, Path, Hex),
   373  	434: makeSyscallInfo("pidfd_open", Hex, Hex),
   374  	435: makeSyscallInfo("clone3", Hex, Hex),
   375  	436: makeSyscallInfo("close_range", FD, FD, CloseRangeFlags),
   376  	441: makeSyscallInfo("epoll_pwait2", FD, EpollEvents, Hex, Timespec, SigSet),
   377  }
   378  
   379  func init() {
   380  	syscallTables = append(syscallTables,
   381  		syscallTable{
   382  			os:       abi.Linux,
   383  			arch:     arch.AMD64,
   384  			syscalls: linuxAMD64,
   385  		},
   386  	)
   387  }