Add all upstream syscalls to tables
Package strace is missing some syscalls we actually implement (e.g., getrandom). We also see newer syscalls sometimes (e.g., membarrier) that would be handy to have formatted. Let's go ahead and add all syscalls in the latest upstream release (v5.4), even though we only intend to implement v4.4. None of them are implemented, just included as placeholders. PiperOrigin-RevId: 284797577
This commit is contained in:
parent
30f7316dc4
commit
c15be3f8cf
|
@ -335,5 +335,33 @@ var linuxAMD64 = SyscallMap{
|
|||
315: makeSyscallInfo("sched_getattr", Hex, Hex, Hex),
|
||||
316: makeSyscallInfo("renameat2", FD, Path, Hex, Path, Hex),
|
||||
317: makeSyscallInfo("seccomp", Hex, Hex, Hex),
|
||||
318: makeSyscallInfo("getrandom", Hex, Hex, Hex),
|
||||
319: makeSyscallInfo("memfd_create", Path, Hex), // Not quite a path, but close.
|
||||
320: makeSyscallInfo("kexec_file_load", FD, FD, Hex, Hex, Hex),
|
||||
321: makeSyscallInfo("bpf", Hex, Hex, Hex),
|
||||
322: makeSyscallInfo("execveat", FD, Path, ExecveStringVector, ExecveStringVector, Hex),
|
||||
323: makeSyscallInfo("userfaultfd", Hex),
|
||||
324: makeSyscallInfo("membarrier", Hex, Hex),
|
||||
325: makeSyscallInfo("mlock2", Hex, Hex, Hex),
|
||||
326: makeSyscallInfo("copy_file_range", FD, Hex, FD, Hex, Hex, Hex),
|
||||
327: makeSyscallInfo("preadv2", FD, ReadIOVec, Hex, Hex, Hex),
|
||||
328: makeSyscallInfo("pwritev2", FD, WriteIOVec, Hex, Hex, Hex),
|
||||
329: makeSyscallInfo("pkey_mprotect", Hex, Hex, Hex, Hex),
|
||||
330: makeSyscallInfo("pkey_alloc", Hex, Hex),
|
||||
331: makeSyscallInfo("pkey_free", Hex),
|
||||
332: makeSyscallInfo("statx", FD, Path, Hex, Hex, Hex),
|
||||
333: makeSyscallInfo("io_pgetevents", Hex, Hex, Hex, Hex, Timespec, SigSet),
|
||||
334: makeSyscallInfo("rseq", Hex, Hex, Hex, Hex),
|
||||
424: makeSyscallInfo("pidfd_send_signal", FD, Signal, Hex, Hex),
|
||||
425: makeSyscallInfo("io_uring_setup", Hex, Hex),
|
||||
426: makeSyscallInfo("io_uring_enter", FD, Hex, Hex, Hex, SigSet, Hex),
|
||||
427: makeSyscallInfo("io_uring_register", FD, Hex, Hex, Hex),
|
||||
428: makeSyscallInfo("open_tree", FD, Path, Hex),
|
||||
429: makeSyscallInfo("move_mount", FD, Path, FD, Path, Hex),
|
||||
430: makeSyscallInfo("fsopen", Path, Hex), // Not quite a path, but close.
|
||||
431: makeSyscallInfo("fsconfig", FD, Hex, Hex, Hex, Hex),
|
||||
432: makeSyscallInfo("fsmount", FD, Hex, Hex),
|
||||
433: makeSyscallInfo("fspick", FD, Path, Hex),
|
||||
434: makeSyscallInfo("pidfd_open", Hex, Hex),
|
||||
435: makeSyscallInfo("clone3", Hex, Hex),
|
||||
}
|
||||
|
|
|
@ -367,11 +367,31 @@ var AMD64 = &kernel.SyscallTable{
|
|||
324: syscalls.ErrorWithEvent("membarrier", syserror.ENOSYS, "", []string{"gvisor.dev/issue/267"}), // TODO(gvisor.dev/issue/267)
|
||||
325: syscalls.PartiallySupported("mlock2", Mlock2, "Stub implementation. The sandbox lacks appropriate permissions.", nil),
|
||||
|
||||
// Syscalls after 325 are "backports" from versions of Linux after 4.4.
|
||||
// Syscalls implemented after 325 are "backports" from versions
|
||||
// of Linux after 4.4.
|
||||
326: syscalls.ErrorWithEvent("copy_file_range", syserror.ENOSYS, "", nil),
|
||||
327: syscalls.Supported("preadv2", Preadv2),
|
||||
328: syscalls.PartiallySupported("pwritev2", Pwritev2, "Flag RWF_HIPRI is not supported.", nil),
|
||||
329: syscalls.ErrorWithEvent("pkey_mprotect", syserror.ENOSYS, "", nil),
|
||||
330: syscalls.ErrorWithEvent("pkey_alloc", syserror.ENOSYS, "", nil),
|
||||
331: syscalls.ErrorWithEvent("pkey_free", syserror.ENOSYS, "", nil),
|
||||
332: syscalls.Supported("statx", Statx),
|
||||
333: syscalls.ErrorWithEvent("io_pgetevents", syserror.ENOSYS, "", nil),
|
||||
334: syscalls.ErrorWithEvent("rseq", syserror.ENOSYS, "", nil),
|
||||
|
||||
// Linux skips ahead to syscall 424 to sync numbers between arches.
|
||||
424: syscalls.ErrorWithEvent("pidfd_send_signal", syserror.ENOSYS, "", nil),
|
||||
425: syscalls.ErrorWithEvent("io_uring_setup", syserror.ENOSYS, "", nil),
|
||||
426: syscalls.ErrorWithEvent("io_uring_enter", syserror.ENOSYS, "", nil),
|
||||
427: syscalls.ErrorWithEvent("io_uring_register", syserror.ENOSYS, "", nil),
|
||||
428: syscalls.ErrorWithEvent("open_tree", syserror.ENOSYS, "", nil),
|
||||
429: syscalls.ErrorWithEvent("move_mount", syserror.ENOSYS, "", nil),
|
||||
430: syscalls.ErrorWithEvent("fsopen", syserror.ENOSYS, "", nil),
|
||||
431: syscalls.ErrorWithEvent("fsconfig", syserror.ENOSYS, "", nil),
|
||||
432: syscalls.ErrorWithEvent("fsmount", syserror.ENOSYS, "", nil),
|
||||
433: syscalls.ErrorWithEvent("fspick", syserror.ENOSYS, "", nil),
|
||||
434: syscalls.ErrorWithEvent("pidfd_open", syserror.ENOSYS, "", nil),
|
||||
435: syscalls.ErrorWithEvent("clone3", syserror.ENOSYS, "", nil),
|
||||
},
|
||||
|
||||
Emulate: map[usermem.Addr]uintptr{
|
||||
|
|
|
@ -302,7 +302,26 @@ var ARM64 = &kernel.SyscallTable{
|
|||
285: syscalls.ErrorWithEvent("copy_file_range", syserror.ENOSYS, "", nil),
|
||||
286: syscalls.Supported("preadv2", Preadv2),
|
||||
287: syscalls.PartiallySupported("pwritev2", Pwritev2, "Flag RWF_HIPRI is not supported.", nil),
|
||||
288: syscalls.ErrorWithEvent("pkey_mprotect", syserror.ENOSYS, "", nil),
|
||||
289: syscalls.ErrorWithEvent("pkey_alloc", syserror.ENOSYS, "", nil),
|
||||
290: syscalls.ErrorWithEvent("pkey_free", syserror.ENOSYS, "", nil),
|
||||
291: syscalls.Supported("statx", Statx),
|
||||
292: syscalls.ErrorWithEvent("io_pgetevents", syserror.ENOSYS, "", nil),
|
||||
293: syscalls.ErrorWithEvent("rseq", syserror.ENOSYS, "", nil),
|
||||
|
||||
// Linux skips ahead to syscall 424 to sync numbers between arches.
|
||||
424: syscalls.ErrorWithEvent("pidfd_send_signal", syserror.ENOSYS, "", nil),
|
||||
425: syscalls.ErrorWithEvent("io_uring_setup", syserror.ENOSYS, "", nil),
|
||||
426: syscalls.ErrorWithEvent("io_uring_enter", syserror.ENOSYS, "", nil),
|
||||
427: syscalls.ErrorWithEvent("io_uring_register", syserror.ENOSYS, "", nil),
|
||||
428: syscalls.ErrorWithEvent("open_tree", syserror.ENOSYS, "", nil),
|
||||
429: syscalls.ErrorWithEvent("move_mount", syserror.ENOSYS, "", nil),
|
||||
430: syscalls.ErrorWithEvent("fsopen", syserror.ENOSYS, "", nil),
|
||||
431: syscalls.ErrorWithEvent("fsconfig", syserror.ENOSYS, "", nil),
|
||||
432: syscalls.ErrorWithEvent("fsmount", syserror.ENOSYS, "", nil),
|
||||
433: syscalls.ErrorWithEvent("fspick", syserror.ENOSYS, "", nil),
|
||||
434: syscalls.ErrorWithEvent("pidfd_open", syserror.ENOSYS, "", nil),
|
||||
435: syscalls.ErrorWithEvent("clone3", syserror.ENOSYS, "", nil),
|
||||
},
|
||||
Emulate: map[usermem.Addr]uintptr{},
|
||||
|
||||
|
|
Loading…
Reference in New Issue