diff mbox

[v2] RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo()

Message ID 1511945253-29296-1-git-send-email-geert@linux-m68k.org (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show

Commit Message

Geert Uytterhoeven Nov. 29, 2017, 8:47 a.m. UTC
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@linux-m68k.org>
---
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(+)

Comments

Nikolova, Tatyana E Dec. 1, 2017, 7:58 p.m. UTC | #1
> -----Original Message-----

> From: Geert Uytterhoeven [mailto:geert@linux-m68k.org]

> Sent: Wednesday, November 29, 2017 2:48 AM

> To: Nikolova, Tatyana E <tatyana.e.nikolova@intel.com>; Roland Dreier

> <roland@purestorage.com>; Jason Gunthorpe <jgg@ziepe.ca>; Doug

> Ledford <dledford@redhat.com>

> Cc: Arnd Bergmann <arnd@arndb.de>; linux-rdma@vger.kernel.org; linux-

> kernel@vger.kernel.org; Geert Uytterhoeven <geert@linux-m68k.org>

> 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@linux-m68k.org>

> ---

> 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@intel.com>


> 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
Jason Gunthorpe Dec. 13, 2017, 6:19 p.m. UTC | #2
On Wed, Nov 29, 2017 at 09:47:33AM +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 -EINVAL to fix this.
> 
> Fixes: 30dc5e63d6a5ad24 ("RDMA/core: Add support for iWARP Port Mapper user space service")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Reviewed-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
> 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 applied to -next.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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) {