
On Wed, Jul 22, 2015 at 12:04:41PM -0400, Laine Stump wrote:
If a pci address had a function number out of range, the error message would be:
Insufficient specification for PCI address
This was due to an unnecessary call to virDevicePCIAddressIsValid() during parse of the pci address - we will anyway check for validity of the PCI address later on.
With that extra check removed, the error message is the much more useful:
Invalid PCI address 0000:02:06.8. function must be <= 7
That error is reported by virDomainPCIAddressValidate, called when we validate and assign guest PCI addresses. Other code paths do not have that protection. After this patch, we happily parse: <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x9'/> </source> </hostdev> A vague error message (and refusing to continue with invalid data) is better than no error, I think we should keep the error here.
This resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1004596 --- src/conf/device_conf.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/conf/device_conf.c b/src/conf/device_conf.c index e7b7957..09a7019 100644 --- a/src/conf/device_conf.c +++ b/src/conf/device_conf.c @@ -1,7 +1,7 @@ /* * device_conf.c: device XML handling * - * Copyright (C) 2006-2012 Red Hat, Inc. + * Copyright (C) 2006-2015 Red Hat, Inc.
Oh no, this file was unprotected for almost three years. Jan