On Fri, Jan 5, 2018 at 6:29 PM, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote: > On 5 January 2018 at 22:01, Anders Roxell <anders.roxell@xxxxxxxxxx> wrote: >> aarch64-linux-gnu-gcc -Wl,-no-as-needed -Wall >> -lpthread seccomp_bpf.c -o seccomp_bpf >> seccomp_bpf.c: In function 'tracer_ptrace': >> seccomp_bpf.c:1720:12: error: '__NR_open' undeclared >> (first use in this function) >> if (nr == __NR_open) >> ^~~~~~~~~ >> seccomp_bpf.c:1720:12: note: each undeclared identifier is reported >> only once for each function it appears in >> In file included from seccomp_bpf.c:48:0: >> seccomp_bpf.c: In function 'TRACE_syscall_ptrace_syscall_dropped': >> seccomp_bpf.c:1795:39: error: '__NR_open' undeclared >> (first use in this function) >> EXPECT_SYSCALL_RETURN(EPERM, syscall(__NR_open)); >> ^ >> open(2) is a legacy syscall, replaced with openat(2) since 2.6.16. >> Thus new architectures in the kernel, such as arm64, don't implement >> these legacy syscalls. >> >> Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx> > > Thanks for the patch Anders. > Tested-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Did something change recently? This has built fine on arm64 for a while -- at least since commit 256d0afb11d6 ("selftests/seccomp: build and pass on arm64"). -Kees > >> --- >> tools/testing/selftests/seccomp/seccomp_bpf.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c >> index 24dbf634e2dd..0b457e8e0f0c 100644 >> --- a/tools/testing/selftests/seccomp/seccomp_bpf.c >> +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c >> @@ -1717,7 +1717,7 @@ void tracer_ptrace(struct __test_metadata *_metadata, pid_t tracee, >> >> if (nr == __NR_getpid) >> change_syscall(_metadata, tracee, __NR_getppid); >> - if (nr == __NR_open) >> + if (nr == __NR_openat) >> change_syscall(_metadata, tracee, -1); >> } >> >> @@ -1792,7 +1792,7 @@ TEST_F(TRACE_syscall, ptrace_syscall_dropped) >> true); >> >> /* Tracer should skip the open syscall, resulting in EPERM. */ >> - EXPECT_SYSCALL_RETURN(EPERM, syscall(__NR_open)); >> + EXPECT_SYSCALL_RETURN(EPERM, syscall(__NR_openat)); >> } >> >> TEST_F(TRACE_syscall, syscall_allowed) >> -- >> 2.11.0 >> -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html