There are conflicts between glibc system headers sys/ptrace.h and linux/ptrace.h that can likely cause seccomp_metadata not be defined depending on what version versions are installed, leading to compile errors.
A solution to make this test more resitant to these system header differences is to rely on defintions inside of the file by unconditionally defining seccomp_metadata and removing the linux/ptrace.h include where a defintion of seccomp_metadata exists for certain headers.
Signed-off-by: Luke Nowakowski-Krijger luke.nowakowskikrijger@canonical.com --- tools/testing/selftests/seccomp/seccomp_bpf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c index d425688cf59c..67e2c3c001a0 100644 --- a/tools/testing/selftests/seccomp/seccomp_bpf.c +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c @@ -26,7 +26,6 @@ #include <sys/ptrace.h> #include <sys/user.h> #include <linux/prctl.h> -#include <linux/ptrace.h> #include <linux/seccomp.h> #include <pthread.h> #include <semaphore.h> @@ -171,12 +170,12 @@ struct seccomp_data {
#ifndef PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA 0x420d +#endif
struct seccomp_metadata { __u64 filter_off; /* Input: which filter */ __u64 flags; /* Output: filter's flags */ }; -#endif
#ifndef SECCOMP_FILTER_FLAG_NEW_LISTENER #define SECCOMP_FILTER_FLAG_NEW_LISTENER (1UL << 3)