nspawn: detect SECCOMP availability, skip audit filter if unavailable
authorFelipe Sateler <fsateler@gmail.com>
Tue, 6 Sep 2016 23:25:22 +0000 (20:25 -0300)
committerFelipe Sateler <fsateler@gmail.com>
Tue, 6 Sep 2016 23:25:49 +0000 (20:25 -0300)
Fail hard if SECCOMP was detected but could not be installed

src/nspawn/nspawn-seccomp.c

index 3ab7160..44a0b39 100644 (file)
@@ -130,6 +130,11 @@ int setup_seccomp(uint64_t cap_list_retain) {
         scmp_filter_ctx seccomp;
         int r;
 
+        if (!is_seccomp_available()) {
+                log_debug("SECCOMP features not detected in the kernel, disabling SECCOMP audit filter");
+                return 0;
+        }
+
         seccomp = seccomp_init(SCMP_ACT_ALLOW);
         if (!seccomp)
                 return log_oom();
@@ -173,11 +178,6 @@ int setup_seccomp(uint64_t cap_list_retain) {
         }
 
         r = seccomp_load(seccomp);
-        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;