]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
UBUNTU: SAUCE: selftests/seccomp: fix "storage size of 'md' isn't known" build issue
authorLuke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com>
Thu, 2 Dec 2021 23:43:00 +0000 (00:43 +0100)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Thu, 13 Jan 2022 17:43:09 +0000 (18:43 +0100)
BugLink: https://bugs.launchpad.net/bugs/1896420
There is a build issue on Bionic/5.4 kernels due to
PTRACE_SECCOMP_GET_METADATA being defined in glibc header sys/ptrace.h,
which then stops struct seccomp_metadata from being defined leading to:
seccomp_bpf.c:3028:26: error: storage size of 'md' isn't known

The solution here is to unconditonally define the seccomp_metadata
definition that we need, and remove the linux/ptrace.h header where a
definition of seccomp_metadata exists in Focal.

Signed-off-by: Luke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
tools/testing/selftests/seccomp/seccomp_bpf.c

index e9a00d26666f773995951071f2a356a7475265e6..64f2b43bc59b89855faa7c05127d22771ab933f8 100644 (file)
@@ -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>
@@ -158,12 +157,17 @@ struct seccomp_data {
 
 #ifndef PTRACE_SECCOMP_GET_METADATA
 #define PTRACE_SECCOMP_GET_METADATA    0x420d
+#endif
 
+/*
+ * There are conflicting definitions in ptrace system headers that lead to
+ * struct seccomp_metadata to not be defined. So until those conflicts get
+ * sorted out, we should rely on some of our own in-tree ptrace definitions.
+ */
 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)