[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 |