mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
qemu: qemuDomainSetLaunchSecurityState: do not lookup qemuCaps in cache
Any active domain has a copy in the privateData, filled in qemuProcessInit. Move the qemu capability check below the activeness check and remove the extra lookup. Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
1861e9fda2
commit
2960531310
@ -19975,12 +19975,12 @@ qemuDomainSetLaunchSecurityState(virDomainPtr domain,
|
||||
virDomainObj *vm;
|
||||
int ret = -1;
|
||||
int rc;
|
||||
g_autoptr(virQEMUCaps) qemucaps = NULL;
|
||||
const char *secrethdr = NULL;
|
||||
const char *secret = NULL;
|
||||
unsigned long long setaddr = 0;
|
||||
bool hasSetaddr = false;
|
||||
int state;
|
||||
qemuDomainObjPrivate *priv;
|
||||
|
||||
virCheckFlags(0, -1);
|
||||
if (virTypedParamsValidate(params, nparams,
|
||||
@ -19996,6 +19996,8 @@ qemuDomainSetLaunchSecurityState(virDomainPtr domain,
|
||||
if (!(vm = qemuDomainObjFromDomain(domain)))
|
||||
goto cleanup;
|
||||
|
||||
priv = vm->privateData;
|
||||
|
||||
if (virDomainSetLaunchSecurityStateEnsureACL(domain->conn, vm->def) < 0)
|
||||
goto cleanup;
|
||||
|
||||
@ -20007,17 +20009,6 @@ qemuDomainSetLaunchSecurityState(virDomainPtr domain,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(qemucaps = virQEMUCapsCacheLookupDefault(driver->qemuCapsCache,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL)))
|
||||
goto cleanup;
|
||||
|
||||
if (!virQEMUCapsGet(qemucaps, QEMU_CAPS_SEV_INJECT_LAUNCH_SECRET)) {
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("QEMU does not support setting a launch secret"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virTypedParamsGetString(params, nparams,
|
||||
VIR_DOMAIN_LAUNCH_SECURITY_SEV_SECRET_HEADER,
|
||||
&secrethdr) < 0 ||
|
||||
@ -20050,6 +20041,12 @@ qemuDomainSetLaunchSecurityState(virDomainPtr domain,
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_SEV_INJECT_LAUNCH_SECRET)) {
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("QEMU does not support setting a launch secret"));
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
qemuDomainObjEnterMonitor(driver, vm);
|
||||
rc = qemuMonitorSetLaunchSecurityState(QEMU_DOMAIN_PRIVATE(vm)->mon,
|
||||
secrethdr, secret, setaddr, hasSetaddr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user