[libvirt] [PATCH v3 24/28] security_dac: Pass virSecurityManagerPtr to virSecurityDACRestoreFileLabelInternal

Michal Privoznik mprivozn at redhat.com
Mon Aug 27 08:08:37 UTC 2018


This function is going call security manager APIs and therefore
it needs pointer to it.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/security/security_dac.c | 43 ++++++++++++++++++-------------------------
 1 file changed, 18 insertions(+), 25 deletions(-)

diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index 1a33386b84..3d0c8d20cb 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -654,10 +654,11 @@ virSecurityDACSetOwnership(virSecurityManagerPtr mgr,
 
 
 static int
-virSecurityDACRestoreFileLabelInternal(virSecurityDACDataPtr priv,
+virSecurityDACRestoreFileLabelInternal(virSecurityManagerPtr mgr,
                                        virStorageSourcePtr src,
                                        const char *path)
 {
+    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
     int rv;
     uid_t uid = 0;  /* By default return to root:root */
     gid_t gid = 0;
@@ -682,10 +683,10 @@ virSecurityDACRestoreFileLabelInternal(virSecurityDACDataPtr priv,
 
 
 static int
-virSecurityDACRestoreFileLabel(virSecurityDACDataPtr priv,
+virSecurityDACRestoreFileLabel(virSecurityManagerPtr mgr,
                                const char *path)
 {
-    return virSecurityDACRestoreFileLabelInternal(priv, NULL, path);
+    return virSecurityDACRestoreFileLabelInternal(mgr, NULL, path);
 }
 
 
@@ -812,7 +813,7 @@ virSecurityDACRestoreImageLabelInt(virSecurityManagerPtr mgr,
         }
     }
 
-    return virSecurityDACRestoreFileLabelInternal(priv, src, NULL);
+    return virSecurityDACRestoreFileLabelInternal(mgr, src, NULL);
 }
 
 
@@ -1026,8 +1027,7 @@ virSecurityDACRestorePCILabel(virPCIDevicePtr dev ATTRIBUTE_UNUSED,
                               void *opaque)
 {
     virSecurityManagerPtr mgr = opaque;
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
-    return virSecurityDACRestoreFileLabel(priv, file);
+    return virSecurityDACRestoreFileLabel(mgr, file);
 }
 
 
@@ -1037,8 +1037,7 @@ virSecurityDACRestoreUSBLabel(virUSBDevicePtr dev ATTRIBUTE_UNUSED,
                               void *opaque)
 {
     virSecurityManagerPtr mgr = opaque;
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
-    return virSecurityDACRestoreFileLabel(priv, file);
+    return virSecurityDACRestoreFileLabel(mgr, file);
 }
 
 
@@ -1048,8 +1047,7 @@ virSecurityDACRestoreSCSILabel(virSCSIDevicePtr dev ATTRIBUTE_UNUSED,
                                void *opaque)
 {
     virSecurityManagerPtr mgr = opaque;
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
-    return virSecurityDACRestoreFileLabel(priv, file);
+    return virSecurityDACRestoreFileLabel(mgr, file);
 }
 
 
@@ -1059,8 +1057,7 @@ virSecurityDACRestoreHostLabel(virSCSIVHostDevicePtr dev ATTRIBUTE_UNUSED,
                                void *opaque)
 {
     virSecurityManagerPtr mgr = opaque;
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
-    return virSecurityDACRestoreFileLabel(priv, file);
+    return virSecurityDACRestoreFileLabel(mgr, file);
 }
 
 
@@ -1172,8 +1169,7 @@ virSecurityDACRestoreHostdevLabel(virSecurityManagerPtr mgr,
         if (!(vfiodev = virMediatedDeviceGetIOMMUGroupDev(mdevsrc->uuidstr)))
             goto done;
 
-        ret = virSecurityDACRestoreFileLabel(virSecurityManagerGetPrivateData(mgr),
-                                             vfiodev);
+        ret = virSecurityDACRestoreFileLabel(mgr, vfiodev);
         VIR_FREE(vfiodev);
         break;
     }
@@ -1284,7 +1280,6 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
                                   virDomainChrSourceDefPtr dev_source,
                                   bool chardevStdioLogd)
 {
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
     virSecurityDeviceLabelDefPtr chr_seclabel = NULL;
     char *in = NULL, *out = NULL;
     int ret = -1;
@@ -1303,7 +1298,7 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
     switch ((virDomainChrType)dev_source->type) {
     case VIR_DOMAIN_CHR_TYPE_DEV:
     case VIR_DOMAIN_CHR_TYPE_FILE:
-        ret = virSecurityDACRestoreFileLabel(priv, dev_source->data.file.path);
+        ret = virSecurityDACRestoreFileLabel(mgr, dev_source->data.file.path);
         break;
 
     case VIR_DOMAIN_CHR_TYPE_PIPE:
@@ -1311,10 +1306,10 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
             virAsprintf(&in, "%s.in", dev_source->data.file.path) < 0)
             goto done;
         if (virFileExists(in) && virFileExists(out)) {
-            if (virSecurityDACRestoreFileLabel(priv, out) < 0 ||
-                virSecurityDACRestoreFileLabel(priv, in) < 0)
+            if (virSecurityDACRestoreFileLabel(mgr, out) < 0 ||
+                virSecurityDACRestoreFileLabel(mgr, in) < 0)
                 goto done;
-        } else if (virSecurityDACRestoreFileLabel(priv, dev_source->data.file.path) < 0) {
+        } else if (virSecurityDACRestoreFileLabel(mgr, dev_source->data.file.path) < 0) {
             goto done;
         }
         ret = 0;
@@ -1497,12 +1492,11 @@ virSecurityDACRestoreInputLabel(virSecurityManagerPtr mgr,
                                 virDomainDefPtr def ATTRIBUTE_UNUSED,
                                 virDomainInputDefPtr input)
 {
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
     int ret = -1;
 
     switch ((virDomainInputType)input->type) {
     case VIR_DOMAIN_INPUT_TYPE_PASSTHROUGH:
-        ret = virSecurityDACRestoreFileLabel(priv, input->source.evdev);
+        ret = virSecurityDACRestoreFileLabel(mgr, input->source.evdev);
         break;
 
     case VIR_DOMAIN_INPUT_TYPE_MOUSE:
@@ -1522,12 +1516,11 @@ virSecurityDACRestoreMemoryLabel(virSecurityManagerPtr mgr,
                                  virDomainDefPtr def ATTRIBUTE_UNUSED,
                                  virDomainMemoryDefPtr mem)
 {
-    virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
     int ret = -1;
 
     switch ((virDomainMemoryModel) mem->model) {
     case VIR_DOMAIN_MEMORY_MODEL_NVDIMM:
-        ret = virSecurityDACRestoreFileLabel(priv, mem->nvdimmPath);
+        ret = virSecurityDACRestoreFileLabel(mgr, mem->nvdimmPath);
         break;
 
     case VIR_DOMAIN_MEMORY_MODEL_DIMM:
@@ -1612,7 +1605,7 @@ virSecurityDACRestoreAllLabel(virSecurityManagerPtr mgr,
     }
 
     if (def->os.loader && def->os.loader->nvram &&
-        virSecurityDACRestoreFileLabel(priv, def->os.loader->nvram) < 0)
+        virSecurityDACRestoreFileLabel(mgr, def->os.loader->nvram) < 0)
         rc = -1;
 
     return rc;
@@ -1797,7 +1790,7 @@ virSecurityDACRestoreSavedStateLabel(virSecurityManagerPtr mgr,
     if (!priv->dynamicOwnership)
         return 0;
 
-    return virSecurityDACRestoreFileLabel(priv, savefile);
+    return virSecurityDACRestoreFileLabel(mgr, savefile);
 }
 
 
-- 
2.16.4




More information about the libvir-list mailing list