|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [XEN RFC PATCH 01/40] tools: Fix -Werror=maybe-uninitialized for xlu_pci_parse_bdf
Hi Jan,
> -----Original Message-----
> From: Jan Beulich <jbeulich@xxxxxxxx>
> Sent: 2021年8月11日 18:50
> To: Wei Chen <Wei.Chen@xxxxxxx>
> Cc: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>; xen-
> devel@xxxxxxxxxxxxxxxxxxxx; sstabellini@xxxxxxxxxx; julien@xxxxxxx
> Subject: Re: [XEN RFC PATCH 01/40] tools: Fix -Werror=maybe-uninitialized
> for xlu_pci_parse_bdf
>
> On 11.08.2021 12:23, Wei Chen wrote:
> > | libxlu_pci.c: In function 'xlu_pci_parse_bdf':
> > | libxlu_pci.c:32:18: error: 'func' may be used uninitialized in this
> function [-Werror=maybe-uninitialized]
> > | 32 | pcidev->func = func;
> > | | ~~~~~~~~~~~~~^~~~~~
>
> I'm afraid I can't spot such an assignment in the file (nor the two
> similar ones further down). All I can see is
>
> pci->domain = domain;
> pci->bus = bus;
> pci->dev = dev;
> pci->func = func;
>
Sorry, I forgot to update my commit log with the latest code base.
I revert this change in my current code, I can't reproduce it.
I'm not sure if it's because I upgraded my build environment.
Give me sometime, if I can reproduce it I will update the commit
log in next version. If it's no longer needed, I will remove this
patch from this series.
> > | libxlu_pci.c:51:29: note: 'func' was declared here
> > | 51 | unsigned dom, bus, dev, func, vslot = 0;
> > | | ^~~~
> > | libxlu_pci.c:31:17: error: 'dev' may be used uninitialized in this
> function [-Werror=maybe-uninitialized]
> > | 31 | pcidev->dev = dev;
> > | | ~~~~~~~~~~~~^~~~~
> > | libxlu_pci.c:51:24: note: 'dev' was declared here
> > | 51 | unsigned dom, bus, dev, func, vslot = 0;
> > | | ^~~
> > | libxlu_pci.c:30:17: error: 'bus' may be used uninitialized in this
> function [-Werror=maybe-uninitialized]
> > | 30 | pcidev->bus = bus;
> > | | ~~~~~~~~~~~~^~~~~
> > | libxlu_pci.c:51:19: note: 'bus' was declared here
> > | 51 | unsigned dom, bus, dev, func, vslot = 0;
> > | | ^~~
> > | libxlu_pci.c:78:26: error: 'dom' may be used uninitialized in this
> function [-Werror=maybe-uninitialized]
> > | 78 | if ( dom & ~0xff )
> > | | ~~~~^~~~~~~
>
> I'm afraid I also can't spot a variable named "dom", nor a sufficiently
> similar if(). May I ask what code base these were observed with? Is the
> change needed at all anymore?
>
same as above.
> > --- a/tools/libs/util/libxlu_pci.c
> > +++ b/tools/libs/util/libxlu_pci.c
> > @@ -15,7 +15,7 @@ static int parse_bdf(libxl_device_pci *pci, const char
> *str, const char **endp)
> > {
> > const char *ptr = str;
> > unsigned int colons = 0;
> > - unsigned int domain, bus, dev, func;
> > + unsigned int domain = 0, bus = 0, dev = 0, func = 0;
> > int n;
> >
> > /* Count occurrences of ':' to detrmine presence/absence of the
> 'domain' */
> > @@ -28,7 +28,6 @@ static int parse_bdf(libxl_device_pci *pci, const char
> *str, const char **endp)
> > ptr = str;
> > switch (colons) {
> > case 1:
> > - domain = 0;
> > if (sscanf(ptr, "%x:%x.%n", &bus, &dev, &n) != 2)
> > return ERROR_INVAL;
> > break;
> >
>
> Also - which compiler did you encounter this with?
>
> Finally please don't forget to Cc maintainers.
>
If this patch still needed, I will do in next version.
> Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |