Skip to content
  • Tycho Andersen's avatar
    selftests/seccomp: fix build on older kernels · 88282297
    Tycho Andersen authored
    The seccomp selftest goes to some length to build against older kernel
    headers, viz. all the #ifdefs at the beginning of the file.
    
    Commit 201766a2
    
     ("ptrace: add PTRACE_GET_SYSCALL_INFO request")
    introduces some additional macros, but doesn't do the #ifdef dance.
    Let's add that dance here to avoid:
    
    gcc -Wl,-no-as-needed -Wall  seccomp_bpf.c -lpthread -o seccomp_bpf
    In file included from seccomp_bpf.c:51:
    seccomp_bpf.c: In function ‘tracer_ptrace’:
    seccomp_bpf.c:1787:20: error: ‘PTRACE_EVENTMSG_SYSCALL_ENTRY’ undeclared (first use in this function); did you mean ‘PTRACE_EVENT_CLONE’?
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../kselftest_harness.h:608:13: note: in definition of macro ‘__EXPECT’
      __typeof__(_expected) __exp = (_expected); \
                 ^~~~~~~~~
    seccomp_bpf.c:1787:2: note: in expansion of macro ‘EXPECT_EQ’
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
      ^~~~~~~~~
    seccomp_bpf.c:1787:20: note: each undeclared identifier is reported only once for each function it appears in
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../kselftest_harness.h:608:13: note: in definition of macro ‘__EXPECT’
      __typeof__(_expected) __exp = (_expected); \
                 ^~~~~~~~~
    seccomp_bpf.c:1787:2: note: in expansion of macro ‘EXPECT_EQ’
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
      ^~~~~~~~~
    seccomp_bpf.c:1788:6: error: ‘PTRACE_EVENTMSG_SYSCALL_EXIT’ undeclared (first use in this function); did you mean ‘PTRACE_EVENT_EXIT’?
        : PTRACE_EVENTMSG_SYSCALL_EXIT, msg);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../kselftest_harness.h:608:13: note: in definition of macro ‘__EXPECT’
      __typeof__(_expected) __exp = (_expected); \
                 ^~~~~~~~~
    seccomp_bpf.c:1787:2: note: in expansion of macro ‘EXPECT_EQ’
      EXPECT_EQ(entry ? PTRACE_EVENTMSG_SYSCALL_ENTRY
      ^~~~~~~~~
    make: *** [Makefile:12: seccomp_bpf] Error 1
    
    [skhan@linuxfoundation.org: Fix checkpatch error in commit log]
    Signed-off-by: default avatarTycho Andersen <tycho@tycho.ws>
    Fixes: 201766a2
    
     ("ptrace: add PTRACE_GET_SYSCALL_INFO request")
    Acked-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    88282297