On Wednesday 09 September 2015 12:30:27 Kees Cook wrote: > The syscall ABI is inconsistent on aarch64 compat, so at least we should > document it in the seccomp_bpf tests. > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Can you explain in what way the ABI is inconsistent here? > --- > Can someone with access to native aarch64 double-check this for me? I > think we need to change these tests to pass if it's expected, but the > compat behavior seems bad. It means compat code will break under an > aarch64 kernel, when dealing with syscalls, like through seccomp. > --- > tools/testing/selftests/seccomp/seccomp_bpf.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c > index 770f47adf295..866ff42e000d 100644 > --- a/tools/testing/selftests/seccomp/seccomp_bpf.c > +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c > @@ -33,6 +33,10 @@ > #include <unistd.h> > #include <sys/syscall.h> > > +#if defined(__aarch64__) && !defined(__NR_poll) > +# define __NR_poll 0x49 > +#endif I don't understand this: 0x49 is __NR_ppoll on arm64 and all architectures that use asm-generic/unistd.h, not __NR_poll, which is no longer used there. If this is intentional, it at least needs a comment to explain the situation, and be extended to all other architectures that do not have a poll() system call. The arm32 version of sys_poll should be available as 168 in both native and compat mode. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html