]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virSecurityDACRestoreChardevLabel: Restore UNIX sockets too
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 15 Apr 2019 15:16:39 +0000 (17:16 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 16 Apr 2019 08:47:51 +0000 (10:47 +0200)
We're setting seclabels on unix sockets but never restoring them.
Surprisingly, we are doing so in SELinux driver.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/security/security_dac.c

index 6f8ca8cd54b0fb1cbaaf10eb118c811094d312b8..3c21dbbddb3af6d29be4f234dba9c03b4475d15d 100644 (file)
@@ -1457,13 +1457,20 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
         ret = 0;
         break;
 
+    case VIR_DOMAIN_CHR_TYPE_UNIX:
+        if (!dev_source->data.nix.listen &&
+            virSecurityDACRestoreFileLabel(mgr, dev_source->data.nix.path) < 0) {
+            goto done;
+        }
+        ret = 0;
+        break;
+
     case VIR_DOMAIN_CHR_TYPE_NULL:
     case VIR_DOMAIN_CHR_TYPE_VC:
     case VIR_DOMAIN_CHR_TYPE_PTY:
     case VIR_DOMAIN_CHR_TYPE_STDIO:
     case VIR_DOMAIN_CHR_TYPE_UDP:
     case VIR_DOMAIN_CHR_TYPE_TCP:
-    case VIR_DOMAIN_CHR_TYPE_UNIX:
     case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
     case VIR_DOMAIN_CHR_TYPE_SPICEPORT:
     case VIR_DOMAIN_CHR_TYPE_NMDM: