在seccomp中使用SYS_syscallname __NR_syscallname有什么区别吗?

Is there any difference between using SYS_syscallname __NR_syscallname in seccomp?

在 seccomp 过滤器中使用 SYS_syscallname 和 __NR_syscallname 有什么区别?我应该使用哪一个?

您应该使用__NR_syscallname(例如__NR_chdir)。根据 the syscalls manpage:

Roughly speaking, the code belonging to the system call with number __NR_xxx defined in /usr/include/asm/unistd.h can be found in the Linux kernel source in the routine sys_xxx().

区别在于SYS_syscallname定义是libc的一部分,而__NR_syscallname定义来自Linuxheaders。我也不确定所有 __NR_syscallname 都有 SYS_syscallname 别名。