From: Michal Privoznik Date: Fri, 10 Feb 2023 08:47:05 +0000 (+0100) Subject: qemu_extdevice: Do cleanup host only for VIR_DOMAIN_TPM_TYPE_EMULATOR X-Git-Tag: v9.1.0-rc1~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03f76e577d66f8eea6aa7cc513e75026527b4cda;p=thirdparty%2Flibvirt.git qemu_extdevice: Do cleanup host only for VIR_DOMAIN_TPM_TYPE_EMULATOR We only set up host for VIR_DOMAIN_TPM_TYPE_EMULATOR and thus similarly, we should do cleanup for the same type. This also fixes a crasher, in which qemuTPMEmulatorCleanupHost() accesses tpm->data.emulator.storagepath which is NULL for VIR_DOMAIN_TPM_TYPE_EXTERNAL. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2168762 Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c index f7b2e2e653..fdefe59215 100644 --- a/src/qemu/qemu_extdevice.c +++ b/src/qemu/qemu_extdevice.c @@ -162,7 +162,10 @@ qemuExtDevicesCleanupHost(virQEMUDriver *driver, return; for (i = 0; i < def->ntpms; i++) { - qemuExtTPMCleanupHost(def->tpms[i], flags, outgoingMigration); + virDomainTPMDef *tpm = def->tpms[i]; + + if (tpm->type == VIR_DOMAIN_TPM_TYPE_EMULATOR) + qemuExtTPMCleanupHost(tpm, flags, outgoingMigration); } }