mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 19:02:25 +00:00
security_dac: Pass virSecurityManagerPtr to virSecurityDACRestoreFileLabelInternal
This function is going call security manager APIs and therefore it needs pointer to it. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
3ac7793ad1
commit
8a5713e235
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user