From badfe6c75ee459c10d44beb5c52652c1af1842f1 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 3 Mar 2010 15:15:21 +0000 Subject: [PATCH] Add missing device type check in QEMU PCI hotunplug The QEMU hotunplug code for PCI devices was looking at host devices in the guest config without first filtering non PCI devices. This means it was reading garbage * src/qemu/qemu_driver.c: Filter out non-PCI devices --- src/qemu/qemu_driver.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index bb3edde8bb..b03ec2d00b 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6854,6 +6854,10 @@ static int qemudDomainDetachHostPciDevice(struct qemud_driver *driver, pciDevice *pci; for (i = 0 ; i < vm->def->nhostdevs ; i++) { + if (vm->def->hostdevs[i]->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || + vm->def->hostdevs[i]->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) + continue; + unsigned domain = vm->def->hostdevs[i]->source.subsys.u.pci.domain; unsigned bus = vm->def->hostdevs[i]->source.subsys.u.pci.bus; unsigned slot = vm->def->hostdevs[i]->source.subsys.u.pci.slot; -- GitLab