sys_linux: restructure syscalls in seccomp filter
Having one syscall per line improves the seccomp filter reading. It should also make updates more straightforward.
This commit is contained in:
parent
51fe589aeb
commit
526974366f
1 changed files with 87 additions and 22 deletions
109
sys_linux.c
109
sys_linux.c
|
@ -478,36 +478,101 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_SystemCallContext context)
|
|||
{
|
||||
const int syscalls[] = {
|
||||
/* Clock */
|
||||
SCMP_SYS(adjtimex), SCMP_SYS(clock_adjtime), SCMP_SYS(clock_gettime),
|
||||
SCMP_SYS(gettimeofday), SCMP_SYS(settimeofday), SCMP_SYS(time),
|
||||
SCMP_SYS(adjtimex),
|
||||
SCMP_SYS(clock_adjtime),
|
||||
SCMP_SYS(clock_gettime),
|
||||
SCMP_SYS(gettimeofday),
|
||||
SCMP_SYS(settimeofday),
|
||||
SCMP_SYS(time),
|
||||
|
||||
/* Process */
|
||||
SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getpid),
|
||||
SCMP_SYS(getrlimit), SCMP_SYS(getuid), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
|
||||
SCMP_SYS(rt_sigprocmask), SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn),
|
||||
SCMP_SYS(wait4), SCMP_SYS(waitpid),
|
||||
SCMP_SYS(clone),
|
||||
SCMP_SYS(exit),
|
||||
SCMP_SYS(exit_group),
|
||||
SCMP_SYS(getpid),
|
||||
SCMP_SYS(getrlimit),
|
||||
SCMP_SYS(getuid),
|
||||
SCMP_SYS(rt_sigaction),
|
||||
SCMP_SYS(rt_sigreturn),
|
||||
SCMP_SYS(rt_sigprocmask),
|
||||
SCMP_SYS(set_tid_address),
|
||||
SCMP_SYS(sigreturn),
|
||||
SCMP_SYS(wait4),
|
||||
SCMP_SYS(waitpid),
|
||||
|
||||
/* Memory */
|
||||
SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap), SCMP_SYS(mmap2),
|
||||
SCMP_SYS(mprotect), SCMP_SYS(mremap), SCMP_SYS(munmap), SCMP_SYS(shmdt),
|
||||
SCMP_SYS(brk),
|
||||
SCMP_SYS(madvise),
|
||||
SCMP_SYS(mmap),
|
||||
SCMP_SYS(mmap2),
|
||||
SCMP_SYS(mprotect),
|
||||
SCMP_SYS(mremap),
|
||||
SCMP_SYS(munmap),
|
||||
SCMP_SYS(shmdt),
|
||||
|
||||
/* Filesystem */
|
||||
SCMP_SYS(_llseek), SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown),
|
||||
SCMP_SYS(chown32), SCMP_SYS(faccessat), SCMP_SYS(fchmodat), SCMP_SYS(fchownat),
|
||||
SCMP_SYS(fstat), SCMP_SYS(fstat64), SCMP_SYS(getdents), SCMP_SYS(getdents64),
|
||||
SCMP_SYS(lseek), SCMP_SYS(newfstatat), SCMP_SYS(rename), SCMP_SYS(renameat),
|
||||
SCMP_SYS(renameat2), SCMP_SYS(stat), SCMP_SYS(stat64), SCMP_SYS(statfs),
|
||||
SCMP_SYS(statfs64), SCMP_SYS(unlink), SCMP_SYS(unlinkat),
|
||||
SCMP_SYS(_llseek),
|
||||
SCMP_SYS(access),
|
||||
SCMP_SYS(chmod),
|
||||
SCMP_SYS(chown),
|
||||
SCMP_SYS(chown32),
|
||||
SCMP_SYS(faccessat),
|
||||
SCMP_SYS(fchmodat),
|
||||
SCMP_SYS(fchownat),
|
||||
SCMP_SYS(fstat),
|
||||
SCMP_SYS(fstat64),
|
||||
SCMP_SYS(getdents),
|
||||
SCMP_SYS(getdents64),
|
||||
SCMP_SYS(lseek),
|
||||
SCMP_SYS(newfstatat),
|
||||
SCMP_SYS(rename),
|
||||
SCMP_SYS(renameat),
|
||||
SCMP_SYS(renameat2),
|
||||
SCMP_SYS(stat),
|
||||
SCMP_SYS(stat64),
|
||||
SCMP_SYS(statfs),
|
||||
SCMP_SYS(statfs64),
|
||||
SCMP_SYS(unlink),
|
||||
SCMP_SYS(unlinkat),
|
||||
|
||||
/* Socket */
|
||||
SCMP_SYS(accept), SCMP_SYS(bind), SCMP_SYS(connect), SCMP_SYS(getsockname),
|
||||
SCMP_SYS(getsockopt), SCMP_SYS(recv), SCMP_SYS(recvfrom),
|
||||
SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg), SCMP_SYS(send), SCMP_SYS(sendmmsg),
|
||||
SCMP_SYS(sendmsg), SCMP_SYS(sendto), SCMP_SYS(shutdown),
|
||||
SCMP_SYS(accept),
|
||||
SCMP_SYS(bind),
|
||||
SCMP_SYS(connect),
|
||||
SCMP_SYS(getsockname),
|
||||
SCMP_SYS(getsockopt),
|
||||
SCMP_SYS(recv),
|
||||
SCMP_SYS(recvfrom),
|
||||
SCMP_SYS(recvmmsg),
|
||||
SCMP_SYS(recvmsg),
|
||||
SCMP_SYS(send),
|
||||
SCMP_SYS(sendmmsg),
|
||||
SCMP_SYS(sendmsg),
|
||||
SCMP_SYS(sendto),
|
||||
SCMP_SYS(shutdown),
|
||||
/* TODO: check socketcall arguments */
|
||||
SCMP_SYS(socketcall),
|
||||
|
||||
/* General I/O */
|
||||
SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
|
||||
SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(ppoll), SCMP_SYS(pselect6), SCMP_SYS(read),
|
||||
SCMP_SYS(futex), SCMP_SYS(select), SCMP_SYS(set_robust_list), SCMP_SYS(write),
|
||||
SCMP_SYS(_newselect),
|
||||
SCMP_SYS(close),
|
||||
SCMP_SYS(open),
|
||||
SCMP_SYS(openat),
|
||||
SCMP_SYS(pipe),
|
||||
SCMP_SYS(pipe2),
|
||||
SCMP_SYS(poll),
|
||||
SCMP_SYS(ppoll),
|
||||
SCMP_SYS(pselect6),
|
||||
SCMP_SYS(read),
|
||||
SCMP_SYS(futex),
|
||||
SCMP_SYS(select),
|
||||
SCMP_SYS(set_robust_list),
|
||||
SCMP_SYS(write),
|
||||
|
||||
/* Miscellaneous */
|
||||
SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
|
||||
SCMP_SYS(getrandom),
|
||||
SCMP_SYS(sysinfo),
|
||||
SCMP_SYS(uname),
|
||||
};
|
||||
|
||||
const int socket_domains[] = {
|
||||
|
|
Loading…
Reference in a new issue