This function is going call security manager APIs and therefore
it needs pointer to it.
Signed-off-by: Michal Privoznik
---
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(, "%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) {
+