mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Need to remove TLS object in RemoveRNGDevice
Commit id '6e6b4bfc' added the object, but forgot the other end.
This commit is contained in:
parent
502c747aa1
commit
68808516fe
@ -3609,6 +3609,7 @@ qemuDomainRemoveRNGDevice(virQEMUDriverPtr driver,
|
||||
virObjectEventPtr event;
|
||||
char *charAlias = NULL;
|
||||
char *objAlias = NULL;
|
||||
char *tlsAlias = NULL;
|
||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||
ssize_t idx;
|
||||
int ret = -1;
|
||||
@ -3617,17 +3618,26 @@ qemuDomainRemoveRNGDevice(virQEMUDriverPtr driver,
|
||||
VIR_DEBUG("Removing RNG device %s from domain %p %s",
|
||||
rng->info.alias, vm, vm->def->name);
|
||||
|
||||
|
||||
if (virAsprintf(&objAlias, "obj%s", rng->info.alias) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!(charAlias = qemuAliasChardevFromDevAlias(rng->info.alias)))
|
||||
goto cleanup;
|
||||
|
||||
if (rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD &&
|
||||
!(tlsAlias = qemuAliasTLSObjFromChardevAlias(charAlias)))
|
||||
goto cleanup;
|
||||
|
||||
qemuDomainObjEnterMonitor(driver, vm);
|
||||
|
||||
rc = qemuMonitorDelObject(priv->mon, objAlias);
|
||||
|
||||
if (rc == 0 && rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD)
|
||||
if (rc == 0 && rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD) {
|
||||
ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias));
|
||||
if (tlsAlias)
|
||||
ignore_value(qemuMonitorDelObject(priv->mon, tlsAlias));
|
||||
}
|
||||
|
||||
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
goto cleanup;
|
||||
@ -3649,6 +3659,7 @@ qemuDomainRemoveRNGDevice(virQEMUDriverPtr driver,
|
||||
cleanup:
|
||||
VIR_FREE(charAlias);
|
||||
VIR_FREE(objAlias);
|
||||
VIR_FREE(tlsAlias);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user