]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_extdevice: Do cleanup host only for VIR_DOMAIN_TPM_TYPE_EMULATOR
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 10 Feb 2023 08:47:05 +0000 (09:47 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 10 Feb 2023 09:49:13 +0000 (10:49 +0100)
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 <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_extdevice.c

index f7b2e2e65389c73d54335df44e2c270509447780..fdefe59215c476de3beee04c4577bfb684eea9d2 100644 (file)
@@ -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);
     }
 }