From: Andrea Bolognani Date: Fri, 11 Jul 2025 13:38:37 +0000 (+0200) Subject: qemu: Validate presence of PCI support X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ad21cd97f52c4aa81c7a9e0956719d1d4039804;p=thirdparty%2Flibvirt.git qemu: Validate presence of PCI support The qemuValidateDomainDeviceDefControllerPCI() function is called if PCI controllers are present in the domain configuration, which shouldn't happen if the machine type doesn't support PCI. If we somehow find ourselves in that scenario, reporting an error would be the right thing to do. Signed-off-by: Andrea Bolognani Reviewed-by: Michal Privoznik Reviewed-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index c7ecb467a3..456f9ee2f2 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -3983,6 +3983,13 @@ qemuValidateDomainDeviceDefControllerPCI(const virDomainControllerDef *cont, return -1; } + if (!qemuDomainSupportsPCI(def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Machine type '%1$s' does not support PCI"), + def->os.machine); + return -1; + } + /* modelName */ switch ((virDomainControllerModelPCI) cont->model) { case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE: