]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Validate TPM TIS device
authorJim Fehlig <jfehlig@suse.com>
Tue, 9 Feb 2021 22:47:30 +0000 (15:47 -0700)
committerJim Fehlig <jfehlig@suse.com>
Thu, 11 Feb 2021 17:08:52 +0000 (10:08 -0700)
TPM devices with model='tpm-tis' are only valid with x86 and aarch64
virt machines. Add a check to qemuValidateDomainDeviceDefTPM() to
ensure VIR_DOMAIN_TPM_MODEL_TIS is only used with these architectures.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/qemu/qemu_validate.c

index a70737327eb49888635d6fe07dc5a484db532b1e..bf4901bf89cb52a4f941dd55286c2a13465c43d5 100644 (file)
@@ -4299,6 +4299,12 @@ qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm,
 
     switch (tpm->model) {
     case VIR_DOMAIN_TPM_MODEL_TIS:
+        if (!ARCH_IS_X86(def->os.arch) && (def->os.arch != VIR_ARCH_AARCH64)) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                           _("TPM model '%s' is only available for x86 and aarch64 guests"),
+                          virDomainTPMModelTypeToString(tpm->model));
+            return -1;
+        }
         flag = QEMU_CAPS_DEVICE_TPM_TIS;
         break;
     case VIR_DOMAIN_TPM_MODEL_CRB: