qemu: Validate TPM TIS device

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>
This commit is contained in:
Jim Fehlig 2021-02-09 15:47:30 -07:00
parent 7cf60006ce
commit afb823fc50

View 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: