nspawn: make seccomp loading errors non-fatal
authorIago López Galeiras <iago@endocode.com>
Fri, 12 Jun 2015 14:22:40 +0000 (16:22 +0200)
committerIago López Galeiras <iago@endocode.com>
Mon, 15 Jun 2015 08:55:31 +0000 (10:55 +0200)
seccomp_load returns -EINVAL when seccomp support is not enabled in the
kernel [1]. This should be a debug log, not an error that interrupts nspawn.
If the seccomp filter can't be set and audit is enabled, the user will
get an error message anyway.

[1]: http://man7.org/linux/man-pages/man2/prctl.2.html

src/nspawn/nspawn.c

index 6a21ed5..5625799 100644 (file)
@@ -3002,8 +3002,15 @@ static int setup_seccomp(void) {
         }
 
         r = seccomp_load(seccomp);
-        if (r < 0)
+        if (r == -EINVAL) {
+                log_debug_errno(r, "Kernel is probably not configured with CONFIG_SECCOMP. Disabling seccomp audit filter: %m");
+                r = 0;
+                goto finish;
+        }
+        if (r < 0) {
                 log_error_errno(r, "Failed to install seccomp audit filter: %m");
+                goto finish;
+        }
 
 finish:
         seccomp_release(seccomp);