Adding seccomp calls to vl.c (v8)
authorEduardo Otubo <otubo@linux.vnet.ibm.com>
Tue, 14 Aug 2012 21:44:07 +0000 (18:44 -0300)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 16 Aug 2012 18:41:16 +0000 (13:41 -0500)
Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
v1:
 - Full seccomp calls and data included in vl.c

v1 -> v2:
 - Full seccomp calls and data removed from vl.c and put into separate
   qemu-seccomp.[ch] file.

vl.c

diff --git a/vl.c b/vl.c
index d01256a..1010248 100644 (file)
--- a/vl.c
+++ b/vl.c
 #include <linux/ppdev.h>
 #include <linux/parport.h>
 #endif
+
+#ifdef CONFIG_SECCOMP
+#include "qemu-seccomp.h"
+#endif
+
 #ifdef __sun__
 #include <sys/stat.h>
 #include <sys/ethernet.h>
@@ -2344,6 +2349,14 @@ int main(int argc, char **argv, char **envp)
     const char *trace_events = NULL;
     const char *trace_file = NULL;
 
+#ifdef CONFIG_SECCOMP
+    if (seccomp_start() < 0) {
+        fprintf(stderr,
+                "seccomp: failed to install syscall filter in the kernel\n");
+        exit(1);
+    }
+#endif
+
     atexit(qemu_run_exit_notifiers);
     error_set_progname(argv[0]);