Donald Dutile <ddut...@redhat.com> writes: > Need to check that guest slot/device number is not > 31 or walk off > the devfn table when checking if a devfn is available or not in a guest.
Here in do_pci_register_device(): } else if (bus->devices[devfn]) { error_report("PCI: devfn %d not available for %s, in use by %s", devfn, name, bus->devices[devfn]->name); return NULL; } > before this fix, passing in an addr=abc or addr=34, > can crash qemu, sometimes fail gracefully if data past end > of devfn table fails the availability test. > > with this fix, get clean error: > Property 'pci-assign.addr' doesn't take value '34' > > also tested when no addr= param passed for guest (pcicfg) address, > and that worked as well. > > Signed-off-by: Don Dutile <ddut...@redhat.com> Reviewed-by: Markus Armbruster <arm...@redhat.com>