提交 8a5713e2 编写于 作者: M Michal Privoznik

security_dac: Pass virSecurityManagerPtr to virSecurityDACRestoreFileLabelInternal

This function is going call security manager APIs and therefore
it needs pointer to it.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
上级 3ac7793a
...@@ -654,10 +654,11 @@ virSecurityDACSetOwnership(virSecurityManagerPtr mgr, ...@@ -654,10 +654,11 @@ virSecurityDACSetOwnership(virSecurityManagerPtr mgr,
static int static int
virSecurityDACRestoreFileLabelInternal(virSecurityDACDataPtr priv, virSecurityDACRestoreFileLabelInternal(virSecurityManagerPtr mgr,
virStorageSourcePtr src, virStorageSourcePtr src,
const char *path) const char *path)
{ {
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
int rv; int rv;
uid_t uid = 0; /* By default return to root:root */ uid_t uid = 0; /* By default return to root:root */
gid_t gid = 0; gid_t gid = 0;
...@@ -682,10 +683,10 @@ virSecurityDACRestoreFileLabelInternal(virSecurityDACDataPtr priv, ...@@ -682,10 +683,10 @@ virSecurityDACRestoreFileLabelInternal(virSecurityDACDataPtr priv,
static int static int
virSecurityDACRestoreFileLabel(virSecurityDACDataPtr priv, virSecurityDACRestoreFileLabel(virSecurityManagerPtr mgr,
const char *path) const char *path)
{ {
return virSecurityDACRestoreFileLabelInternal(priv, NULL, path); return virSecurityDACRestoreFileLabelInternal(mgr, NULL, path);
} }
...@@ -812,7 +813,7 @@ virSecurityDACRestoreImageLabelInt(virSecurityManagerPtr mgr, ...@@ -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, ...@@ -1026,8 +1027,7 @@ virSecurityDACRestorePCILabel(virPCIDevicePtr dev ATTRIBUTE_UNUSED,
void *opaque) void *opaque)
{ {
virSecurityManagerPtr mgr = opaque; virSecurityManagerPtr mgr = opaque;
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr); return virSecurityDACRestoreFileLabel(mgr, file);
return virSecurityDACRestoreFileLabel(priv, file);
} }
...@@ -1037,8 +1037,7 @@ virSecurityDACRestoreUSBLabel(virUSBDevicePtr dev ATTRIBUTE_UNUSED, ...@@ -1037,8 +1037,7 @@ virSecurityDACRestoreUSBLabel(virUSBDevicePtr dev ATTRIBUTE_UNUSED,
void *opaque) void *opaque)
{ {
virSecurityManagerPtr mgr = opaque; virSecurityManagerPtr mgr = opaque;
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr); return virSecurityDACRestoreFileLabel(mgr, file);
return virSecurityDACRestoreFileLabel(priv, file);
} }
...@@ -1048,8 +1047,7 @@ virSecurityDACRestoreSCSILabel(virSCSIDevicePtr dev ATTRIBUTE_UNUSED, ...@@ -1048,8 +1047,7 @@ virSecurityDACRestoreSCSILabel(virSCSIDevicePtr dev ATTRIBUTE_UNUSED,
void *opaque) void *opaque)
{ {
virSecurityManagerPtr mgr = opaque; virSecurityManagerPtr mgr = opaque;
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr); return virSecurityDACRestoreFileLabel(mgr, file);
return virSecurityDACRestoreFileLabel(priv, file);
} }
...@@ -1059,8 +1057,7 @@ virSecurityDACRestoreHostLabel(virSCSIVHostDevicePtr dev ATTRIBUTE_UNUSED, ...@@ -1059,8 +1057,7 @@ virSecurityDACRestoreHostLabel(virSCSIVHostDevicePtr dev ATTRIBUTE_UNUSED,
void *opaque) void *opaque)
{ {
virSecurityManagerPtr mgr = opaque; virSecurityManagerPtr mgr = opaque;
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr); return virSecurityDACRestoreFileLabel(mgr, file);
return virSecurityDACRestoreFileLabel(priv, file);
} }
...@@ -1172,8 +1169,7 @@ virSecurityDACRestoreHostdevLabel(virSecurityManagerPtr mgr, ...@@ -1172,8 +1169,7 @@ virSecurityDACRestoreHostdevLabel(virSecurityManagerPtr mgr,
if (!(vfiodev = virMediatedDeviceGetIOMMUGroupDev(mdevsrc->uuidstr))) if (!(vfiodev = virMediatedDeviceGetIOMMUGroupDev(mdevsrc->uuidstr)))
goto done; goto done;
ret = virSecurityDACRestoreFileLabel(virSecurityManagerGetPrivateData(mgr), ret = virSecurityDACRestoreFileLabel(mgr, vfiodev);
vfiodev);
VIR_FREE(vfiodev); VIR_FREE(vfiodev);
break; break;
} }
...@@ -1284,7 +1280,6 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr, ...@@ -1284,7 +1280,6 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
virDomainChrSourceDefPtr dev_source, virDomainChrSourceDefPtr dev_source,
bool chardevStdioLogd) bool chardevStdioLogd)
{ {
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
virSecurityDeviceLabelDefPtr chr_seclabel = NULL; virSecurityDeviceLabelDefPtr chr_seclabel = NULL;
char *in = NULL, *out = NULL; char *in = NULL, *out = NULL;
int ret = -1; int ret = -1;
...@@ -1303,7 +1298,7 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr, ...@@ -1303,7 +1298,7 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
switch ((virDomainChrType)dev_source->type) { switch ((virDomainChrType)dev_source->type) {
case VIR_DOMAIN_CHR_TYPE_DEV: case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE: case VIR_DOMAIN_CHR_TYPE_FILE:
ret = virSecurityDACRestoreFileLabel(priv, dev_source->data.file.path); ret = virSecurityDACRestoreFileLabel(mgr, dev_source->data.file.path);
break; break;
case VIR_DOMAIN_CHR_TYPE_PIPE: case VIR_DOMAIN_CHR_TYPE_PIPE:
...@@ -1311,10 +1306,10 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr, ...@@ -1311,10 +1306,10 @@ virSecurityDACRestoreChardevLabel(virSecurityManagerPtr mgr,
virAsprintf(&in, "%s.in", dev_source->data.file.path) < 0) virAsprintf(&in, "%s.in", dev_source->data.file.path) < 0)
goto done; goto done;
if (virFileExists(in) && virFileExists(out)) { if (virFileExists(in) && virFileExists(out)) {
if (virSecurityDACRestoreFileLabel(priv, out) < 0 || if (virSecurityDACRestoreFileLabel(mgr, out) < 0 ||
virSecurityDACRestoreFileLabel(priv, in) < 0) virSecurityDACRestoreFileLabel(mgr, in) < 0)
goto done; goto done;
} else if (virSecurityDACRestoreFileLabel(priv, dev_source->data.file.path) < 0) { } else if (virSecurityDACRestoreFileLabel(mgr, dev_source->data.file.path) < 0) {
goto done; goto done;
} }
ret = 0; ret = 0;
...@@ -1497,12 +1492,11 @@ virSecurityDACRestoreInputLabel(virSecurityManagerPtr mgr, ...@@ -1497,12 +1492,11 @@ virSecurityDACRestoreInputLabel(virSecurityManagerPtr mgr,
virDomainDefPtr def ATTRIBUTE_UNUSED, virDomainDefPtr def ATTRIBUTE_UNUSED,
virDomainInputDefPtr input) virDomainInputDefPtr input)
{ {
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
int ret = -1; int ret = -1;
switch ((virDomainInputType)input->type) { switch ((virDomainInputType)input->type) {
case VIR_DOMAIN_INPUT_TYPE_PASSTHROUGH: case VIR_DOMAIN_INPUT_TYPE_PASSTHROUGH:
ret = virSecurityDACRestoreFileLabel(priv, input->source.evdev); ret = virSecurityDACRestoreFileLabel(mgr, input->source.evdev);
break; break;
case VIR_DOMAIN_INPUT_TYPE_MOUSE: case VIR_DOMAIN_INPUT_TYPE_MOUSE:
...@@ -1522,12 +1516,11 @@ virSecurityDACRestoreMemoryLabel(virSecurityManagerPtr mgr, ...@@ -1522,12 +1516,11 @@ virSecurityDACRestoreMemoryLabel(virSecurityManagerPtr mgr,
virDomainDefPtr def ATTRIBUTE_UNUSED, virDomainDefPtr def ATTRIBUTE_UNUSED,
virDomainMemoryDefPtr mem) virDomainMemoryDefPtr mem)
{ {
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
int ret = -1; int ret = -1;
switch ((virDomainMemoryModel) mem->model) { switch ((virDomainMemoryModel) mem->model) {
case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: case VIR_DOMAIN_MEMORY_MODEL_NVDIMM:
ret = virSecurityDACRestoreFileLabel(priv, mem->nvdimmPath); ret = virSecurityDACRestoreFileLabel(mgr, mem->nvdimmPath);
break; break;
case VIR_DOMAIN_MEMORY_MODEL_DIMM: case VIR_DOMAIN_MEMORY_MODEL_DIMM:
...@@ -1612,7 +1605,7 @@ virSecurityDACRestoreAllLabel(virSecurityManagerPtr mgr, ...@@ -1612,7 +1605,7 @@ virSecurityDACRestoreAllLabel(virSecurityManagerPtr mgr,
} }
if (def->os.loader && def->os.loader->nvram && if (def->os.loader && def->os.loader->nvram &&
virSecurityDACRestoreFileLabel(priv, def->os.loader->nvram) < 0) virSecurityDACRestoreFileLabel(mgr, def->os.loader->nvram) < 0)
rc = -1; rc = -1;
return rc; return rc;
...@@ -1797,7 +1790,7 @@ virSecurityDACRestoreSavedStateLabel(virSecurityManagerPtr mgr, ...@@ -1797,7 +1790,7 @@ virSecurityDACRestoreSavedStateLabel(virSecurityManagerPtr mgr,
if (!priv->dynamicOwnership) if (!priv->dynamicOwnership)
return 0; return 0;
return virSecurityDACRestoreFileLabel(priv, savefile); return virSecurityDACRestoreFileLabel(mgr, savefile);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册