Test complete list of syscalls blocked by seccomp, filter unsupported syscalls (#17)
* Test complete list of syscalls as of Linux 4.20
Use the syscall numbers from golang.org/x/sys/unix, these get updated
regularly.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
* Only list supported syscalls
Some syscalls might not be supported on the kernel under which
amicontained is run.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
* Remove unused var to fix staticcheck error
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
diff --git a/main.go b/main.go
index dc32526..f0bdf2e 100644
--- a/main.go
+++ b/main.go
@@ -11,11 +11,11 @@
"github.com/genuinetools/pkg/cli"
"github.com/jessfraz/bpfd/proc"
"github.com/sirupsen/logrus"
+ "golang.org/x/sys/unix"
)
var (
- debug bool
- seccomplist bool
+ debug bool
)
func main() {
@@ -107,20 +107,25 @@
//fmt.Println("Checking available syscalls...")
- for id := 0; id < 314; id++ {
+ for id := 0; id <= unix.SYS_RSEQ; id++ {
// these cause a hang, so just skip
// rt_sigreturn, select, pause, pselect6, ppoll
- if id == syscall.SYS_RT_SIGRETURN || id == syscall.SYS_SELECT || id == syscall.SYS_PAUSE || id == syscall.SYS_PSELECT6 || id == syscall.SYS_PPOLL {
+ if id == unix.SYS_RT_SIGRETURN || id == unix.SYS_SELECT || id == unix.SYS_PAUSE || id == unix.SYS_PSELECT6 || id == unix.SYS_PPOLL {
continue
}
// exit_group and exit -- causes us to exit.. doh!
- if id == syscall.SYS_EXIT || id == syscall.SYS_EXIT_GROUP {
+ if id == unix.SYS_EXIT || id == unix.SYS_EXIT_GROUP {
continue
}
// things currently break horribly if CLONE, FORK or VFORK are called and the call succeeds
// guess it should be straight forward to kill the forks
- if id == syscall.SYS_CLONE || id == syscall.SYS_FORK || id == syscall.SYS_VFORK {
+ if id == unix.SYS_CLONE || id == unix.SYS_FORK || id == unix.SYS_VFORK {
+ continue
+ }
+
+ // Skip seccomp itself.
+ if id == unix.SYS_SECCOMP {
continue
}
@@ -129,7 +134,7 @@
// check both EPERM and EACCES - LXC returns EACCES and Docker EPERM
if err == syscall.EPERM || err == syscall.EACCES {
blocked = append(blocked, syscallName(id))
- } else {
+ } else if err != syscall.EOPNOTSUPP {
allowed = append(allowed, syscallName(id))
}
@@ -148,634 +153,676 @@
func syscallName(e int) string {
switch e {
- case syscall.SYS_READ:
+ case unix.SYS_READ:
return "READ"
- case syscall.SYS_WRITE:
+ case unix.SYS_WRITE:
return "WRITE"
- case syscall.SYS_OPEN:
+ case unix.SYS_OPEN:
return "OPEN"
- case syscall.SYS_CLOSE:
+ case unix.SYS_CLOSE:
return "CLOSE"
- case syscall.SYS_STAT:
+ case unix.SYS_STAT:
return "STAT"
- case syscall.SYS_FSTAT:
+ case unix.SYS_FSTAT:
return "FSTAT"
- case syscall.SYS_LSTAT:
+ case unix.SYS_LSTAT:
return "LSTAT"
- case syscall.SYS_POLL:
+ case unix.SYS_POLL:
return "POLL"
- case syscall.SYS_LSEEK:
+ case unix.SYS_LSEEK:
return "LSEEK"
- case syscall.SYS_MMAP:
+ case unix.SYS_MMAP:
return "MMAP"
- case syscall.SYS_MPROTECT:
+ case unix.SYS_MPROTECT:
return "MPROTECT"
- case syscall.SYS_MUNMAP:
+ case unix.SYS_MUNMAP:
return "MUNMAP"
- case syscall.SYS_BRK:
+ case unix.SYS_BRK:
return "BRK"
- case syscall.SYS_RT_SIGACTION:
+ case unix.SYS_RT_SIGACTION:
return "RT_SIGACTION"
- case syscall.SYS_RT_SIGPROCMASK:
+ case unix.SYS_RT_SIGPROCMASK:
return "RT_SIGPROCMASK"
- case syscall.SYS_RT_SIGRETURN:
+ case unix.SYS_RT_SIGRETURN:
return "RT_SIGRETURN"
- case syscall.SYS_IOCTL:
+ case unix.SYS_IOCTL:
return "IOCTL"
- case syscall.SYS_PREAD64:
+ case unix.SYS_PREAD64:
return "PREAD64"
- case syscall.SYS_PWRITE64:
+ case unix.SYS_PWRITE64:
return "PWRITE64"
- case syscall.SYS_READV:
+ case unix.SYS_READV:
return "READV"
- case syscall.SYS_WRITEV:
+ case unix.SYS_WRITEV:
return "WRITEV"
- case syscall.SYS_ACCESS:
+ case unix.SYS_ACCESS:
return "ACCESS"
- case syscall.SYS_PIPE:
+ case unix.SYS_PIPE:
return "PIPE"
- case syscall.SYS_SELECT:
+ case unix.SYS_SELECT:
return "SELECT"
- case syscall.SYS_SCHED_YIELD:
+ case unix.SYS_SCHED_YIELD:
return "SCHED_YIELD"
- case syscall.SYS_MREMAP:
+ case unix.SYS_MREMAP:
return "MREMAP"
- case syscall.SYS_MSYNC:
+ case unix.SYS_MSYNC:
return "MSYNC"
- case syscall.SYS_MINCORE:
+ case unix.SYS_MINCORE:
return "MINCORE"
- case syscall.SYS_MADVISE:
+ case unix.SYS_MADVISE:
return "MADVISE"
- case syscall.SYS_SHMGET:
+ case unix.SYS_SHMGET:
return "SHMGET"
- case syscall.SYS_SHMAT:
+ case unix.SYS_SHMAT:
return "SHMAT"
- case syscall.SYS_SHMCTL:
+ case unix.SYS_SHMCTL:
return "SHMCTL"
- case syscall.SYS_DUP:
+ case unix.SYS_DUP:
return "DUP"
- case syscall.SYS_DUP2:
+ case unix.SYS_DUP2:
return "DUP2"
- case syscall.SYS_PAUSE:
+ case unix.SYS_PAUSE:
return "PAUSE"
- case syscall.SYS_NANOSLEEP:
+ case unix.SYS_NANOSLEEP:
return "NANOSLEEP"
- case syscall.SYS_GETITIMER:
+ case unix.SYS_GETITIMER:
return "GETITIMER"
- case syscall.SYS_ALARM:
+ case unix.SYS_ALARM:
return "ALARM"
- case syscall.SYS_SETITIMER:
+ case unix.SYS_SETITIMER:
return "SETITIMER"
- case syscall.SYS_GETPID:
+ case unix.SYS_GETPID:
return "GETPID"
- case syscall.SYS_SENDFILE:
+ case unix.SYS_SENDFILE:
return "SENDFILE"
- case syscall.SYS_SOCKET:
+ case unix.SYS_SOCKET:
return "SOCKET"
- case syscall.SYS_CONNECT:
+ case unix.SYS_CONNECT:
return "CONNECT"
- case syscall.SYS_ACCEPT:
+ case unix.SYS_ACCEPT:
return "ACCEPT"
- case syscall.SYS_SENDTO:
+ case unix.SYS_SENDTO:
return "SENDTO"
- case syscall.SYS_RECVFROM:
+ case unix.SYS_RECVFROM:
return "RECVFROM"
- case syscall.SYS_SENDMSG:
+ case unix.SYS_SENDMSG:
return "SENDMSG"
- case syscall.SYS_RECVMSG:
+ case unix.SYS_RECVMSG:
return "RECVMSG"
- case syscall.SYS_SHUTDOWN:
+ case unix.SYS_SHUTDOWN:
return "SHUTDOWN"
- case syscall.SYS_BIND:
+ case unix.SYS_BIND:
return "BIND"
- case syscall.SYS_LISTEN:
+ case unix.SYS_LISTEN:
return "LISTEN"
- case syscall.SYS_GETSOCKNAME:
+ case unix.SYS_GETSOCKNAME:
return "GETSOCKNAME"
- case syscall.SYS_GETPEERNAME:
+ case unix.SYS_GETPEERNAME:
return "GETPEERNAME"
- case syscall.SYS_SOCKETPAIR:
+ case unix.SYS_SOCKETPAIR:
return "SOCKETPAIR"
- case syscall.SYS_SETSOCKOPT:
+ case unix.SYS_SETSOCKOPT:
return "SETSOCKOPT"
- case syscall.SYS_GETSOCKOPT:
+ case unix.SYS_GETSOCKOPT:
return "GETSOCKOPT"
- case syscall.SYS_CLONE:
+ case unix.SYS_CLONE:
return "CLONE"
- case syscall.SYS_FORK:
+ case unix.SYS_FORK:
return "FORK"
- case syscall.SYS_VFORK:
+ case unix.SYS_VFORK:
return "VFORK"
- case syscall.SYS_EXECVE:
+ case unix.SYS_EXECVE:
return "EXECVE"
- case syscall.SYS_EXIT:
+ case unix.SYS_EXIT:
return "EXIT"
- case syscall.SYS_WAIT4:
+ case unix.SYS_WAIT4:
return "WAIT4"
- case syscall.SYS_KILL:
+ case unix.SYS_KILL:
return "KILL"
- case syscall.SYS_UNAME:
+ case unix.SYS_UNAME:
return "UNAME"
- case syscall.SYS_SEMGET:
+ case unix.SYS_SEMGET:
return "SEMGET"
- case syscall.SYS_SEMOP:
+ case unix.SYS_SEMOP:
return "SEMOP"
- case syscall.SYS_SEMCTL:
+ case unix.SYS_SEMCTL:
return "SEMCTL"
- case syscall.SYS_SHMDT:
+ case unix.SYS_SHMDT:
return "SHMDT"
- case syscall.SYS_MSGGET:
+ case unix.SYS_MSGGET:
return "MSGGET"
- case syscall.SYS_MSGSND:
+ case unix.SYS_MSGSND:
return "MSGSND"
- case syscall.SYS_MSGRCV:
+ case unix.SYS_MSGRCV:
return "MSGRCV"
- case syscall.SYS_MSGCTL:
+ case unix.SYS_MSGCTL:
return "MSGCTL"
- case syscall.SYS_FCNTL:
+ case unix.SYS_FCNTL:
return "FCNTL"
- case syscall.SYS_FLOCK:
+ case unix.SYS_FLOCK:
return "FLOCK"
- case syscall.SYS_FSYNC:
+ case unix.SYS_FSYNC:
return "FSYNC"
- case syscall.SYS_FDATASYNC:
+ case unix.SYS_FDATASYNC:
return "FDATASYNC"
- case syscall.SYS_TRUNCATE:
+ case unix.SYS_TRUNCATE:
return "TRUNCATE"
- case syscall.SYS_FTRUNCATE:
+ case unix.SYS_FTRUNCATE:
return "FTRUNCATE"
- case syscall.SYS_GETDENTS:
+ case unix.SYS_GETDENTS:
return "GETDENTS"
- case syscall.SYS_GETCWD:
+ case unix.SYS_GETCWD:
return "GETCWD"
- case syscall.SYS_CHDIR:
+ case unix.SYS_CHDIR:
return "CHDIR"
- case syscall.SYS_FCHDIR:
+ case unix.SYS_FCHDIR:
return "FCHDIR"
- case syscall.SYS_RENAME:
+ case unix.SYS_RENAME:
return "RENAME"
- case syscall.SYS_MKDIR:
+ case unix.SYS_MKDIR:
return "MKDIR"
- case syscall.SYS_RMDIR:
+ case unix.SYS_RMDIR:
return "RMDIR"
- case syscall.SYS_CREAT:
+ case unix.SYS_CREAT:
return "CREAT"
- case syscall.SYS_LINK:
+ case unix.SYS_LINK:
return "LINK"
- case syscall.SYS_UNLINK:
+ case unix.SYS_UNLINK:
return "UNLINK"
- case syscall.SYS_SYMLINK:
+ case unix.SYS_SYMLINK:
return "SYMLINK"
- case syscall.SYS_READLINK:
+ case unix.SYS_READLINK:
return "READLINK"
- case syscall.SYS_CHMOD:
+ case unix.SYS_CHMOD:
return "CHMOD"
- case syscall.SYS_FCHMOD:
+ case unix.SYS_FCHMOD:
return "FCHMOD"
- case syscall.SYS_CHOWN:
+ case unix.SYS_CHOWN:
return "CHOWN"
- case syscall.SYS_FCHOWN:
+ case unix.SYS_FCHOWN:
return "FCHOWN"
- case syscall.SYS_LCHOWN:
+ case unix.SYS_LCHOWN:
return "LCHOWN"
- case syscall.SYS_UMASK:
+ case unix.SYS_UMASK:
return "UMASK"
- case syscall.SYS_GETTIMEOFDAY:
+ case unix.SYS_GETTIMEOFDAY:
return "GETTIMEOFDAY"
- case syscall.SYS_GETRLIMIT:
+ case unix.SYS_GETRLIMIT:
return "GETRLIMIT"
- case syscall.SYS_GETRUSAGE:
+ case unix.SYS_GETRUSAGE:
return "GETRUSAGE"
- case syscall.SYS_SYSINFO:
+ case unix.SYS_SYSINFO:
return "SYSINFO"
- case syscall.SYS_TIMES:
+ case unix.SYS_TIMES:
return "TIMES"
- case syscall.SYS_PTRACE:
+ case unix.SYS_PTRACE:
return "PTRACE"
- case syscall.SYS_GETUID:
+ case unix.SYS_GETUID:
return "GETUID"
- case syscall.SYS_SYSLOG:
+ case unix.SYS_SYSLOG:
return "SYSLOG"
- case syscall.SYS_GETGID:
+ case unix.SYS_GETGID:
return "GETGID"
- case syscall.SYS_SETUID:
+ case unix.SYS_SETUID:
return "SETUID"
- case syscall.SYS_SETGID:
+ case unix.SYS_SETGID:
return "SETGID"
- case syscall.SYS_GETEUID:
+ case unix.SYS_GETEUID:
return "GETEUID"
- case syscall.SYS_GETEGID:
+ case unix.SYS_GETEGID:
return "GETEGID"
- case syscall.SYS_SETPGID:
+ case unix.SYS_SETPGID:
return "SETPGID"
- case syscall.SYS_GETPPID:
+ case unix.SYS_GETPPID:
return "GETPPID"
- case syscall.SYS_GETPGRP:
+ case unix.SYS_GETPGRP:
return "GETPGRP"
- case syscall.SYS_SETSID:
+ case unix.SYS_SETSID:
return "SETSID"
- case syscall.SYS_SETREUID:
+ case unix.SYS_SETREUID:
return "SETREUID"
- case syscall.SYS_SETREGID:
+ case unix.SYS_SETREGID:
return "SETREGID"
- case syscall.SYS_GETGROUPS:
+ case unix.SYS_GETGROUPS:
return "GETGROUPS"
- case syscall.SYS_SETGROUPS:
+ case unix.SYS_SETGROUPS:
return "SETGROUPS"
- case syscall.SYS_SETRESUID:
+ case unix.SYS_SETRESUID:
return "SETRESUID"
- case syscall.SYS_GETRESUID:
+ case unix.SYS_GETRESUID:
return "GETRESUID"
- case syscall.SYS_SETRESGID:
+ case unix.SYS_SETRESGID:
return "SETRESGID"
- case syscall.SYS_GETRESGID:
+ case unix.SYS_GETRESGID:
return "GETRESGID"
- case syscall.SYS_GETPGID:
+ case unix.SYS_GETPGID:
return "GETPGID"
- case syscall.SYS_SETFSUID:
+ case unix.SYS_SETFSUID:
return "SETFSUID"
- case syscall.SYS_SETFSGID:
+ case unix.SYS_SETFSGID:
return "SETFSGID"
- case syscall.SYS_GETSID:
+ case unix.SYS_GETSID:
return "GETSID"
- case syscall.SYS_CAPGET:
+ case unix.SYS_CAPGET:
return "CAPGET"
- case syscall.SYS_CAPSET:
+ case unix.SYS_CAPSET:
return "CAPSET"
- case syscall.SYS_RT_SIGPENDING:
+ case unix.SYS_RT_SIGPENDING:
return "RT_SIGPENDING"
- case syscall.SYS_RT_SIGTIMEDWAIT:
+ case unix.SYS_RT_SIGTIMEDWAIT:
return "RT_SIGTIMEDWAIT"
- case syscall.SYS_RT_SIGQUEUEINFO:
+ case unix.SYS_RT_SIGQUEUEINFO:
return "RT_SIGQUEUEINFO"
- case syscall.SYS_RT_SIGSUSPEND:
+ case unix.SYS_RT_SIGSUSPEND:
return "RT_SIGSUSPEND"
- case syscall.SYS_SIGALTSTACK:
+ case unix.SYS_SIGALTSTACK:
return "SIGALTSTACK"
- case syscall.SYS_UTIME:
+ case unix.SYS_UTIME:
return "UTIME"
- case syscall.SYS_MKNOD:
+ case unix.SYS_MKNOD:
return "MKNOD"
- case syscall.SYS_USELIB:
+ case unix.SYS_USELIB:
return "USELIB"
- case syscall.SYS_PERSONALITY:
+ case unix.SYS_PERSONALITY:
return "PERSONALITY"
- case syscall.SYS_USTAT:
+ case unix.SYS_USTAT:
return "USTAT"
- case syscall.SYS_STATFS:
+ case unix.SYS_STATFS:
return "STATFS"
- case syscall.SYS_FSTATFS:
+ case unix.SYS_FSTATFS:
return "FSTATFS"
- case syscall.SYS_SYSFS:
+ case unix.SYS_SYSFS:
return "SYSFS"
- case syscall.SYS_GETPRIORITY:
+ case unix.SYS_GETPRIORITY:
return "GETPRIORITY"
- case syscall.SYS_SETPRIORITY:
+ case unix.SYS_SETPRIORITY:
return "SETPRIORITY"
- case syscall.SYS_SCHED_SETPARAM:
+ case unix.SYS_SCHED_SETPARAM:
return "SCHED_SETPARAM"
- case syscall.SYS_SCHED_GETPARAM:
+ case unix.SYS_SCHED_GETPARAM:
return "SCHED_GETPARAM"
- case syscall.SYS_SCHED_SETSCHEDULER:
+ case unix.SYS_SCHED_SETSCHEDULER:
return "SCHED_SETSCHEDULER"
- case syscall.SYS_SCHED_GETSCHEDULER:
+ case unix.SYS_SCHED_GETSCHEDULER:
return "SCHED_GETSCHEDULER"
- case syscall.SYS_SCHED_GET_PRIORITY_MAX:
+ case unix.SYS_SCHED_GET_PRIORITY_MAX:
return "SCHED_GET_PRIORITY_MAX"
- case syscall.SYS_SCHED_GET_PRIORITY_MIN:
+ case unix.SYS_SCHED_GET_PRIORITY_MIN:
return "SCHED_GET_PRIORITY_MIN"
- case syscall.SYS_SCHED_RR_GET_INTERVAL:
+ case unix.SYS_SCHED_RR_GET_INTERVAL:
return "SCHED_RR_GET_INTERVAL"
- case syscall.SYS_MLOCK:
+ case unix.SYS_MLOCK:
return "MLOCK"
- case syscall.SYS_MUNLOCK:
+ case unix.SYS_MUNLOCK:
return "MUNLOCK"
- case syscall.SYS_MLOCKALL:
+ case unix.SYS_MLOCKALL:
return "MLOCKALL"
- case syscall.SYS_MUNLOCKALL:
+ case unix.SYS_MUNLOCKALL:
return "MUNLOCKALL"
- case syscall.SYS_VHANGUP:
+ case unix.SYS_VHANGUP:
return "VHANGUP"
- case syscall.SYS_MODIFY_LDT:
+ case unix.SYS_MODIFY_LDT:
return "MODIFY_LDT"
- case syscall.SYS_PIVOT_ROOT:
+ case unix.SYS_PIVOT_ROOT:
return "PIVOT_ROOT"
- case syscall.SYS__SYSCTL:
+ case unix.SYS__SYSCTL:
return "_SYSCTL"
- case syscall.SYS_PRCTL:
+ case unix.SYS_PRCTL:
return "PRCTL"
- case syscall.SYS_ARCH_PRCTL:
+ case unix.SYS_ARCH_PRCTL:
return "ARCH_PRCTL"
- case syscall.SYS_ADJTIMEX:
+ case unix.SYS_ADJTIMEX:
return "ADJTIMEX"
- case syscall.SYS_SETRLIMIT:
+ case unix.SYS_SETRLIMIT:
return "SETRLIMIT"
- case syscall.SYS_CHROOT:
+ case unix.SYS_CHROOT:
return "CHROOT"
- case syscall.SYS_SYNC:
+ case unix.SYS_SYNC:
return "SYNC"
- case syscall.SYS_ACCT:
+ case unix.SYS_ACCT:
return "ACCT"
- case syscall.SYS_SETTIMEOFDAY:
+ case unix.SYS_SETTIMEOFDAY:
return "SETTIMEOFDAY"
- case syscall.SYS_MOUNT:
+ case unix.SYS_MOUNT:
return "MOUNT"
- case syscall.SYS_UMOUNT2:
+ case unix.SYS_UMOUNT2:
return "UMOUNT2"
- case syscall.SYS_SWAPON:
+ case unix.SYS_SWAPON:
return "SWAPON"
- case syscall.SYS_SWAPOFF:
+ case unix.SYS_SWAPOFF:
return "SWAPOFF"
- case syscall.SYS_REBOOT:
+ case unix.SYS_REBOOT:
return "REBOOT"
- case syscall.SYS_SETHOSTNAME:
+ case unix.SYS_SETHOSTNAME:
return "SETHOSTNAME"
- case syscall.SYS_SETDOMAINNAME:
+ case unix.SYS_SETDOMAINNAME:
return "SETDOMAINNAME"
- case syscall.SYS_IOPL:
+ case unix.SYS_IOPL:
return "IOPL"
- case syscall.SYS_IOPERM:
+ case unix.SYS_IOPERM:
return "IOPERM"
- case syscall.SYS_CREATE_MODULE:
+ case unix.SYS_CREATE_MODULE:
return "CREATE_MODULE"
- case syscall.SYS_INIT_MODULE:
+ case unix.SYS_INIT_MODULE:
return "INIT_MODULE"
- case syscall.SYS_DELETE_MODULE:
+ case unix.SYS_DELETE_MODULE:
return "DELETE_MODULE"
- case syscall.SYS_GET_KERNEL_SYMS:
+ case unix.SYS_GET_KERNEL_SYMS:
return "GET_KERNEL_SYMS"
- case syscall.SYS_QUERY_MODULE:
+ case unix.SYS_QUERY_MODULE:
return "QUERY_MODULE"
- case syscall.SYS_QUOTACTL:
+ case unix.SYS_QUOTACTL:
return "QUOTACTL"
- case syscall.SYS_NFSSERVCTL:
+ case unix.SYS_NFSSERVCTL:
return "NFSSERVCTL"
- case syscall.SYS_GETPMSG:
+ case unix.SYS_GETPMSG:
return "GETPMSG"
- case syscall.SYS_PUTPMSG:
+ case unix.SYS_PUTPMSG:
return "PUTPMSG"
- case syscall.SYS_AFS_SYSCALL:
+ case unix.SYS_AFS_SYSCALL:
return "AFS_SYSCALL"
- case syscall.SYS_TUXCALL:
+ case unix.SYS_TUXCALL:
return "TUXCALL"
- case syscall.SYS_SECURITY:
+ case unix.SYS_SECURITY:
return "SECURITY"
- case syscall.SYS_GETTID:
+ case unix.SYS_GETTID:
return "GETTID"
- case syscall.SYS_READAHEAD:
+ case unix.SYS_READAHEAD:
return "READAHEAD"
- case syscall.SYS_SETXATTR:
+ case unix.SYS_SETXATTR:
return "SETXATTR"
- case syscall.SYS_LSETXATTR:
+ case unix.SYS_LSETXATTR:
return "LSETXATTR"
- case syscall.SYS_FSETXATTR:
+ case unix.SYS_FSETXATTR:
return "FSETXATTR"
- case syscall.SYS_GETXATTR:
+ case unix.SYS_GETXATTR:
return "GETXATTR"
- case syscall.SYS_LGETXATTR:
+ case unix.SYS_LGETXATTR:
return "LGETXATTR"
- case syscall.SYS_FGETXATTR:
+ case unix.SYS_FGETXATTR:
return "FGETXATTR"
- case syscall.SYS_LISTXATTR:
+ case unix.SYS_LISTXATTR:
return "LISTXATTR"
- case syscall.SYS_LLISTXATTR:
+ case unix.SYS_LLISTXATTR:
return "LLISTXATTR"
- case syscall.SYS_FLISTXATTR:
+ case unix.SYS_FLISTXATTR:
return "FLISTXATTR"
- case syscall.SYS_REMOVEXATTR:
+ case unix.SYS_REMOVEXATTR:
return "REMOVEXATTR"
- case syscall.SYS_LREMOVEXATTR:
+ case unix.SYS_LREMOVEXATTR:
return "LREMOVEXATTR"
- case syscall.SYS_FREMOVEXATTR:
+ case unix.SYS_FREMOVEXATTR:
return "FREMOVEXATTR"
- case syscall.SYS_TKILL:
+ case unix.SYS_TKILL:
return "TKILL"
- case syscall.SYS_TIME:
+ case unix.SYS_TIME:
return "TIME"
- case syscall.SYS_FUTEX:
+ case unix.SYS_FUTEX:
return "FUTEX"
- case syscall.SYS_SCHED_SETAFFINITY:
+ case unix.SYS_SCHED_SETAFFINITY:
return "SCHED_SETAFFINITY"
- case syscall.SYS_SCHED_GETAFFINITY:
+ case unix.SYS_SCHED_GETAFFINITY:
return "SCHED_GETAFFINITY"
- case syscall.SYS_SET_THREAD_AREA:
+ case unix.SYS_SET_THREAD_AREA:
return "SET_THREAD_AREA"
- case syscall.SYS_IO_SETUP:
+ case unix.SYS_IO_SETUP:
return "IO_SETUP"
- case syscall.SYS_IO_DESTROY:
+ case unix.SYS_IO_DESTROY:
return "IO_DESTROY"
- case syscall.SYS_IO_GETEVENTS:
+ case unix.SYS_IO_GETEVENTS:
return "IO_GETEVENTS"
- case syscall.SYS_IO_SUBMIT:
+ case unix.SYS_IO_SUBMIT:
return "IO_SUBMIT"
- case syscall.SYS_IO_CANCEL:
+ case unix.SYS_IO_CANCEL:
return "IO_CANCEL"
- case syscall.SYS_GET_THREAD_AREA:
+ case unix.SYS_GET_THREAD_AREA:
return "GET_THREAD_AREA"
- case syscall.SYS_LOOKUP_DCOOKIE:
+ case unix.SYS_LOOKUP_DCOOKIE:
return "LOOKUP_DCOOKIE"
- case syscall.SYS_EPOLL_CREATE:
+ case unix.SYS_EPOLL_CREATE:
return "EPOLL_CREATE"
- case syscall.SYS_EPOLL_CTL_OLD:
+ case unix.SYS_EPOLL_CTL_OLD:
return "EPOLL_CTL_OLD"
- case syscall.SYS_EPOLL_WAIT_OLD:
+ case unix.SYS_EPOLL_WAIT_OLD:
return "EPOLL_WAIT_OLD"
- case syscall.SYS_REMAP_FILE_PAGES:
+ case unix.SYS_REMAP_FILE_PAGES:
return "REMAP_FILE_PAGES"
- case syscall.SYS_GETDENTS64:
+ case unix.SYS_GETDENTS64:
return "GETDENTS64"
- case syscall.SYS_SET_TID_ADDRESS:
+ case unix.SYS_SET_TID_ADDRESS:
return "SET_TID_ADDRESS"
- case syscall.SYS_RESTART_SYSCALL:
+ case unix.SYS_RESTART_SYSCALL:
return "RESTART_SYSCALL"
- case syscall.SYS_SEMTIMEDOP:
+ case unix.SYS_SEMTIMEDOP:
return "SEMTIMEDOP"
- case syscall.SYS_FADVISE64:
+ case unix.SYS_FADVISE64:
return "FADVISE64"
- case syscall.SYS_TIMER_CREATE:
+ case unix.SYS_TIMER_CREATE:
return "TIMER_CREATE"
- case syscall.SYS_TIMER_SETTIME:
+ case unix.SYS_TIMER_SETTIME:
return "TIMER_SETTIME"
- case syscall.SYS_TIMER_GETTIME:
+ case unix.SYS_TIMER_GETTIME:
return "TIMER_GETTIME"
- case syscall.SYS_TIMER_GETOVERRUN:
+ case unix.SYS_TIMER_GETOVERRUN:
return "TIMER_GETOVERRUN"
- case syscall.SYS_TIMER_DELETE:
+ case unix.SYS_TIMER_DELETE:
return "TIMER_DELETE"
- case syscall.SYS_CLOCK_SETTIME:
+ case unix.SYS_CLOCK_SETTIME:
return "CLOCK_SETTIME"
- case syscall.SYS_CLOCK_GETTIME:
+ case unix.SYS_CLOCK_GETTIME:
return "CLOCK_GETTIME"
- case syscall.SYS_CLOCK_GETRES:
+ case unix.SYS_CLOCK_GETRES:
return "CLOCK_GETRES"
- case syscall.SYS_CLOCK_NANOSLEEP:
+ case unix.SYS_CLOCK_NANOSLEEP:
return "CLOCK_NANOSLEEP"
- case syscall.SYS_EXIT_GROUP:
+ case unix.SYS_EXIT_GROUP:
return "EXIT_GROUP"
- case syscall.SYS_EPOLL_WAIT:
+ case unix.SYS_EPOLL_WAIT:
return "EPOLL_WAIT"
- case syscall.SYS_EPOLL_CTL:
+ case unix.SYS_EPOLL_CTL:
return "EPOLL_CTL"
- case syscall.SYS_TGKILL:
+ case unix.SYS_TGKILL:
return "TGKILL"
- case syscall.SYS_UTIMES:
+ case unix.SYS_UTIMES:
return "UTIMES"
- case syscall.SYS_VSERVER:
+ case unix.SYS_VSERVER:
return "VSERVER"
- case syscall.SYS_MBIND:
+ case unix.SYS_MBIND:
return "MBIND"
- case syscall.SYS_SET_MEMPOLICY:
+ case unix.SYS_SET_MEMPOLICY:
return "SET_MEMPOLICY"
- case syscall.SYS_GET_MEMPOLICY:
+ case unix.SYS_GET_MEMPOLICY:
return "GET_MEMPOLICY"
- case syscall.SYS_MQ_OPEN:
+ case unix.SYS_MQ_OPEN:
return "MQ_OPEN"
- case syscall.SYS_MQ_UNLINK:
+ case unix.SYS_MQ_UNLINK:
return "MQ_UNLINK"
- case syscall.SYS_MQ_TIMEDSEND:
+ case unix.SYS_MQ_TIMEDSEND:
return "MQ_TIMEDSEND"
- case syscall.SYS_MQ_TIMEDRECEIVE:
+ case unix.SYS_MQ_TIMEDRECEIVE:
return "MQ_TIMEDRECEIVE"
- case syscall.SYS_MQ_NOTIFY:
+ case unix.SYS_MQ_NOTIFY:
return "MQ_NOTIFY"
- case syscall.SYS_MQ_GETSETATTR:
+ case unix.SYS_MQ_GETSETATTR:
return "MQ_GETSETATTR"
- case syscall.SYS_KEXEC_LOAD:
+ case unix.SYS_KEXEC_LOAD:
return "KEXEC_LOAD"
- case syscall.SYS_WAITID:
+ case unix.SYS_WAITID:
return "WAITID"
- case syscall.SYS_ADD_KEY:
+ case unix.SYS_ADD_KEY:
return "ADD_KEY"
- case syscall.SYS_REQUEST_KEY:
+ case unix.SYS_REQUEST_KEY:
return "REQUEST_KEY"
- case syscall.SYS_KEYCTL:
+ case unix.SYS_KEYCTL:
return "KEYCTL"
- case syscall.SYS_IOPRIO_SET:
+ case unix.SYS_IOPRIO_SET:
return "IOPRIO_SET"
- case syscall.SYS_IOPRIO_GET:
+ case unix.SYS_IOPRIO_GET:
return "IOPRIO_GET"
- case syscall.SYS_INOTIFY_INIT:
+ case unix.SYS_INOTIFY_INIT:
return "INOTIFY_INIT"
- case syscall.SYS_INOTIFY_ADD_WATCH:
+ case unix.SYS_INOTIFY_ADD_WATCH:
return "INOTIFY_ADD_WATCH"
- case syscall.SYS_INOTIFY_RM_WATCH:
+ case unix.SYS_INOTIFY_RM_WATCH:
return "INOTIFY_RM_WATCH"
- case syscall.SYS_MIGRATE_PAGES:
+ case unix.SYS_MIGRATE_PAGES:
return "MIGRATE_PAGES"
- case syscall.SYS_OPENAT:
+ case unix.SYS_OPENAT:
return "OPENAT"
- case syscall.SYS_MKDIRAT:
+ case unix.SYS_MKDIRAT:
return "MKDIRAT"
- case syscall.SYS_MKNODAT:
+ case unix.SYS_MKNODAT:
return "MKNODAT"
- case syscall.SYS_FCHOWNAT:
+ case unix.SYS_FCHOWNAT:
return "FCHOWNAT"
- case syscall.SYS_FUTIMESAT:
+ case unix.SYS_FUTIMESAT:
return "FUTIMESAT"
- case syscall.SYS_NEWFSTATAT:
+ case unix.SYS_NEWFSTATAT:
return "NEWFSTATAT"
- case syscall.SYS_UNLINKAT:
+ case unix.SYS_UNLINKAT:
return "UNLINKAT"
- case syscall.SYS_RENAMEAT:
+ case unix.SYS_RENAMEAT:
return "RENAMEAT"
- case syscall.SYS_LINKAT:
+ case unix.SYS_LINKAT:
return "LINKAT"
- case syscall.SYS_SYMLINKAT:
+ case unix.SYS_SYMLINKAT:
return "SYMLINKAT"
- case syscall.SYS_READLINKAT:
+ case unix.SYS_READLINKAT:
return "READLINKAT"
- case syscall.SYS_FCHMODAT:
+ case unix.SYS_FCHMODAT:
return "FCHMODAT"
- case syscall.SYS_FACCESSAT:
+ case unix.SYS_FACCESSAT:
return "FACCESSAT"
- case syscall.SYS_PSELECT6:
+ case unix.SYS_PSELECT6:
return "PSELECT6"
- case syscall.SYS_PPOLL:
+ case unix.SYS_PPOLL:
return "PPOLL"
- case syscall.SYS_UNSHARE:
+ case unix.SYS_UNSHARE:
return "UNSHARE"
- case syscall.SYS_SET_ROBUST_LIST:
+ case unix.SYS_SET_ROBUST_LIST:
return "SET_ROBUST_LIST"
- case syscall.SYS_GET_ROBUST_LIST:
+ case unix.SYS_GET_ROBUST_LIST:
return "GET_ROBUST_LIST"
- case syscall.SYS_SPLICE:
+ case unix.SYS_SPLICE:
return "SPLICE"
- case syscall.SYS_TEE:
+ case unix.SYS_TEE:
return "TEE"
- case syscall.SYS_SYNC_FILE_RANGE:
+ case unix.SYS_SYNC_FILE_RANGE:
return "SYNC_FILE_RANGE"
- case syscall.SYS_VMSPLICE:
+ case unix.SYS_VMSPLICE:
return "VMSPLICE"
- case syscall.SYS_MOVE_PAGES:
+ case unix.SYS_MOVE_PAGES:
return "MOVE_PAGES"
- case syscall.SYS_UTIMENSAT:
+ case unix.SYS_UTIMENSAT:
return "UTIMENSAT"
- case syscall.SYS_EPOLL_PWAIT:
+ case unix.SYS_EPOLL_PWAIT:
return "EPOLL_PWAIT"
- case syscall.SYS_SIGNALFD:
+ case unix.SYS_SIGNALFD:
return "SIGNALFD"
- case syscall.SYS_TIMERFD_CREATE:
+ case unix.SYS_TIMERFD_CREATE:
return "TIMERFD_CREATE"
- case syscall.SYS_EVENTFD:
+ case unix.SYS_EVENTFD:
return "EVENTFD"
- case syscall.SYS_FALLOCATE:
+ case unix.SYS_FALLOCATE:
return "FALLOCATE"
- case syscall.SYS_TIMERFD_SETTIME:
+ case unix.SYS_TIMERFD_SETTIME:
return "TIMERFD_SETTIME"
- case syscall.SYS_TIMERFD_GETTIME:
+ case unix.SYS_TIMERFD_GETTIME:
return "TIMERFD_GETTIME"
- case syscall.SYS_ACCEPT4:
+ case unix.SYS_ACCEPT4:
return "ACCEPT4"
- case syscall.SYS_SIGNALFD4:
+ case unix.SYS_SIGNALFD4:
return "SIGNALFD4"
- case syscall.SYS_EVENTFD2:
+ case unix.SYS_EVENTFD2:
return "EVENTFD2"
- case syscall.SYS_EPOLL_CREATE1:
+ case unix.SYS_EPOLL_CREATE1:
return "EPOLL_CREATE1"
- case syscall.SYS_DUP3:
+ case unix.SYS_DUP3:
return "DUP3"
- case syscall.SYS_PIPE2:
+ case unix.SYS_PIPE2:
return "PIPE2"
- case syscall.SYS_INOTIFY_INIT1:
+ case unix.SYS_INOTIFY_INIT1:
return "INOTIFY_INIT1"
- case syscall.SYS_PREADV:
+ case unix.SYS_PREADV:
return "PREADV"
- case syscall.SYS_PWRITEV:
+ case unix.SYS_PWRITEV:
return "PWRITEV"
- case syscall.SYS_RT_TGSIGQUEUEINFO:
+ case unix.SYS_RT_TGSIGQUEUEINFO:
return "RT_TGSIGQUEUEINFO"
- case syscall.SYS_PERF_EVENT_OPEN:
+ case unix.SYS_PERF_EVENT_OPEN:
return "PERF_EVENT_OPEN"
- case syscall.SYS_RECVMMSG:
+ case unix.SYS_RECVMMSG:
return "RECVMMSG"
- case syscall.SYS_FANOTIFY_INIT:
+ case unix.SYS_FANOTIFY_INIT:
return "FANOTIFY_INIT"
- case syscall.SYS_FANOTIFY_MARK:
+ case unix.SYS_FANOTIFY_MARK:
return "FANOTIFY_MARK"
- case syscall.SYS_PRLIMIT64:
+ case unix.SYS_PRLIMIT64:
return "PRLIMIT64"
- case 303:
+ case unix.SYS_NAME_TO_HANDLE_AT:
return "NAME_TO_HANDLE_AT"
- case 304:
+ case unix.SYS_OPEN_BY_HANDLE_AT:
return "OPEN_BY_HANDLE_AT"
- case 305:
+ case unix.SYS_CLOCK_ADJTIME:
return "CLOCK_ADJTIME"
- case 306:
+ case unix.SYS_SYNCFS:
return "SYNCFS"
- case 307:
+ case unix.SYS_SENDMMSG:
return "SENDMMSG"
- case 308:
+ case unix.SYS_SETNS:
return "SETNS"
- case 309:
+ case unix.SYS_GETCPU:
return "GETCPU"
- case 310:
+ case unix.SYS_PROCESS_VM_READV:
return "PROCESS_VM_READV"
- case 311:
+ case unix.SYS_PROCESS_VM_WRITEV:
return "PROCESS_VM_WRITEV"
- case 312:
+ case unix.SYS_KCMP:
return "KCMP"
- case 313:
+ case unix.SYS_FINIT_MODULE:
return "FINIT_MODULE"
+ case unix.SYS_SCHED_SETATTR:
+ return "SCHED_SETATTR"
+ case unix.SYS_SCHED_GETATTR:
+ return "SCHED_GETATTR"
+ case unix.SYS_RENAMEAT2:
+ return "RENAMEAT2"
+ case unix.SYS_SECCOMP:
+ return "SECCOMP"
+ case unix.SYS_GETRANDOM:
+ return "GETRANDOM"
+ case unix.SYS_MEMFD_CREATE:
+ return "MEMFD_CREATE"
+ case unix.SYS_KEXEC_FILE_LOAD:
+ return "KEXEC_FILE_LOAD"
+ case unix.SYS_BPF:
+ return "BPF"
+ case unix.SYS_EXECVEAT:
+ return "EXECVEAT"
+ case unix.SYS_USERFAULTFD:
+ return "USERFAULTFD"
+ case unix.SYS_MEMBARRIER:
+ return "MEMBARRIER"
+ case unix.SYS_MLOCK2:
+ return "MLOCK2"
+ case unix.SYS_COPY_FILE_RANGE:
+ return "COPY_FILE_RANGE"
+ case unix.SYS_PREADV2:
+ return "PREADV2"
+ case unix.SYS_PWRITEV2:
+ return "PWRITEV2"
+ case unix.SYS_PKEY_MPROTECT:
+ return "PKEY_MPROTECT"
+ case unix.SYS_PKEY_ALLOC:
+ return "PKEY_ALLOC"
+ case unix.SYS_PKEY_FREE:
+ return "PKEY_FREE"
+ case unix.SYS_STATX:
+ return "STATX"
+ case unix.SYS_IO_PGETEVENTS:
+ return "IO_PGETEVENTS"
+ case unix.SYS_RSEQ:
+ return "RSEQ"
}
return fmt.Sprintf("%d - ERR_UNKNOWN_SYSCALL", e)
}