Messages in this thread | | | From | Arnd Bergmann <> | Date | Wed, 29 Nov 2017 09:39:36 +0100 | Subject | Re: [PATCH/RFC] RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo() |
| |
On Wed, Nov 29, 2017 at 9:24 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > Hi Arnd, > > On Wed, Nov 29, 2017 at 9:20 AM, Arnd Bergmann <arnd@arndb.de> wrote: >> On Wed, Nov 29, 2017 at 9:10 AM, Geert Uytterhoeven >> <geert@linux-m68k.org> wrote: >>> On Wed, Nov 29, 2017 at 12:08 AM, Jason Gunthorpe <jgg@ziepe.ca> wrote: >>>> On Thu, Nov 16, 2017 at 11:26:04AM +0100, Geert Uytterhoeven wrote: >>>>> With gcc-4.1.2: >>>>> >>>>> drivers/infiniband/core/iwpm_util.c: In function ‘iwpm_send_mapinfo’: >>>>> drivers/infiniband/core/iwpm_util.c:647: warning: ‘ret’ may be used uninitialized in this function >>>>> >>>>> Indeed, if nl_client is not found in any of the scanned has buckets, ret >>>>> will be used uninitialized. >>>>> >>>>> Preinitialize ret to zero to fix this. >>>> >>>> Did we come to a conclusion if we should apply this to the RMDA tree? The >>>> patch was marked RFC.. >>> >>> So far no one commented on what's the correct behavior in case of failure, >>> which was the actual reason for the RFC. >> >> As I said above, I think initializing to -EINVAL would be better than 0 here, > > Sorry, I misread your comment as the -EINVAL being part of another function. > >> but initializing 'ret' at declaration time is appropriate here (though >> I normally >> try to avoid doing so, see https://rusty.ozlabs.org/?p=232) > > +1, but if loops are involved, you have not much choice. > I could move the preinitialization to just before the loop? > Would you like that?
I don't think it makes much difference in this particular case, since the function is mostly just that loop, it's fine either way.
Arnd
| |