[PATCH v2 17/38] qemu: Validate presence of PCI support

Andrea Bolognani via Devel posted 38 patches 1 week, 2 days ago
[PATCH v2 17/38] qemu: Validate presence of PCI support
Posted by Andrea Bolognani via Devel 1 week, 2 days ago
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 <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_validate.c | 7 +++++++
 1 file changed, 7 insertions(+)

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