[CRIU] [PATCH v2] seccomp: Use own seccomp_metadata_t type
Cyrill Gorcunov
gorcunov at gmail.com
Tue May 22 23:21:01 MSK 2018
On fedora rawhide seccomp_metadata for some
reason is not defined (while in kernel it introduced
together with PTRACE_SECCOMP_GET_METADATA). So
lets do a trick for a while -- define own alias.
Once system headers get settled down we might find
more suitable solution. Because it's a part of kernel
API we're on the safe side.
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
compel/include/uapi/ptrace.h | 12 ++++++++----
criu/seccomp.c | 2 +-
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/compel/include/uapi/ptrace.h b/compel/include/uapi/ptrace.h
index fcc2d62b08e4..4df00b6e1b68 100644
--- a/compel/include/uapi/ptrace.h
+++ b/compel/include/uapi/ptrace.h
@@ -52,13 +52,17 @@
#ifndef PTRACE_SECCOMP_GET_METADATA
# define PTRACE_SECCOMP_GET_METADATA 0x420d
+#endif /* PTRACE_SECCOMP_GET_METADATA */
-struct seccomp_metadata {
+/*
+ * struct seccomp_metadata is not yet
+ * settled down well in headers so use
+ * own identical definition for a while.
+ */
+typedef struct {
uint64_t filter_off; /* Input: which filter */
uint64_t flags; /* Output: filter's flags */
-};
-
-#endif /* PTRACE_SECCOMP_GET_METADATA */
+} seccomp_metadata_t;
#ifdef PTRACE_EVENT_STOP
# if PTRACE_EVENT_STOP == 7 /* Bad value from Linux 3.1-3.3, fixed in 3.4 */
diff --git a/criu/seccomp.c b/criu/seccomp.c
index d5da6475fcf8..78a87352d133 100644
--- a/criu/seccomp.c
+++ b/criu/seccomp.c
@@ -131,7 +131,7 @@ int seccomp_dump_thread(pid_t tid_real, ThreadCoreEntry *thread_core)
static int collect_filter(struct seccomp_entry *entry)
{
- struct seccomp_metadata meta_buf, *meta = &meta_buf;
+ seccomp_metadata_t meta_buf, *meta = &meta_buf;
struct seccomp_filter_chain *chain, *prev;
struct sock_filter buf[BPF_MAXINSNS];
size_t i;
--
2.14.3
More information about the CRIU
mailing list