RE: [PATCH v2] RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo()
From: Nikolova, Tatyana E
Date: Fri Dec 01 2017 - 14:58:46 EST
> -----Original Message-----
> From: Geert Uytterhoeven [mailto:geert@xxxxxxxxxxxxxx]
> Sent: Wednesday, November 29, 2017 2:48 AM
> To: Nikolova, Tatyana E <tatyana.e.nikolova@xxxxxxxxx>; Roland Dreier
> <roland@xxxxxxxxxxxxxxx>; Jason Gunthorpe <jgg@xxxxxxxx>; Doug
> Ledford <dledford@xxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Subject: [PATCH v2] RDMA/iwpm: Fix uninitialized error code in
> iwpm_send_mapinfo()
>
> 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 -EINVAL to fix this.
>
> Fixes: 30dc5e63d6a5ad24 ("RDMA/core: Add support for iWARP Port Mapper
> user space service")
> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> ---
> v2:
> - Use -EINVAL instead of zero,
> - Move the preinitialization to just before the loop, to catach future
> early offenders,
> - Drop RFC state.
> ---
> drivers/infiniband/core/iwpm_util.c | 1 +
> 1 file changed, 1 insertion(+)
>
Thanks.
Reviewed-by: Tatyana Nikolova <tatyana.e.nikolova@xxxxxxxxx>
> diff --git a/drivers/infiniband/core/iwpm_util.c
> b/drivers/infiniband/core/iwpm_util.c
> index 3c4faadb8cddd7fd..81528f64061a49df 100644
> --- a/drivers/infiniband/core/iwpm_util.c
> +++ b/drivers/infiniband/core/iwpm_util.c
> @@ -654,6 +654,7 @@ int iwpm_send_mapinfo(u8 nl_client, int iwpm_pid)
> }
> skb_num++;
> spin_lock_irqsave(&iwpm_mapinfo_lock, flags);
> + ret = -EINVAL;
> for (i = 0; i < IWPM_MAPINFO_HASH_SIZE; i++) {
> hlist_for_each_entry(map_info, &iwpm_hash_bucket[i],
> hlist_node) {
> --
> 2.7.4