Hi Geoffrey,
Cc'ing the QOM maintainers.
On 11/7/20 12:45 AM, Geoffrey McRae wrote:
> The commit bccb20c49df1bd683248a366021973901c11982f introduced an error
> in the checking logic that validates the bus addresses for PCI device
> addresses preventing usage of devices via vfio-pci that sit at a bus
> address of 0x20 or higher. This patch resolves this by reverting the
> checking logic to the original maximum value of 0xff
>
> Signed-off-by: Geoffrey McRae <geoff@hostfission.com>
> ---
> hw/core/qdev-properties-system.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
> index b81a4e8d14..e62644bc69 100644
> --- a/hw/core/qdev-properties-system.c
> +++ b/hw/core/qdev-properties-system.c
> @@ -882,7 +882,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
> bus = val;
>
> p = (char *)e + 1;
> - if (qemu_strtoul(p, &e, 16, &val) < 0 || val > 0x1f || e == p) {
> + if (qemu_strtoul(p, &e, 16, &val) < 0 || val > 0xff || e == p) {
The fix has already been suggested last month ...:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg750122.html
... then reworked:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg750121.html
You could help to get it merged by reviewing it ;)
Thanks,
Phil.
> goto inval;
> }
> if (*e == ':') {
>