[v2] common/mlx5: fix uninitialized variable warning

Message ID 20200422223130.16842-1-stephen@networkplumber.org (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series [v2] common/mlx5: fix uninitialized variable warning |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-nxp-Performance success Performance Testing PASS
ci/Intel-compilation fail Compilation issues
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot warning Travis build: failed
ci/iol-testing success Testing PASS

Commit Message

Stephen Hemminger April 22, 2020, 10:31 p.m. UTC
  Gcc 8.3.0 (Debian 10) complains about unitilized variable.

[474/2122] Compiling C object 'drivers/a715181@@tmp_rte_common_mlx5@sta/common_mlx5_mlx5_nl.c.o'.
In file included from ../drivers/common/mlx5/mlx5_nl.h:12,
                 from ../drivers/common/mlx5/mlx5_nl.c:23:
../drivers/common/mlx5/mlx5_nl.c: In function ‘mlx5_nl_enable_roce_get’:
../drivers/common/mlx5/mlx5_common.h:68:2: warning: ‘cur_en’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  rte_log(RTE_LOG_ ## level, \
  ^~~~~~~
../drivers/common/mlx5/mlx5_nl.c:1560:6: note: ‘cur_en’ was declared here
  int cur_en;
      ^~~~~~

The compiler is correct, this variable would only be set if kernel
netlink response message contains the DEVLINK parameter that flags if
ROCE is enabled.

Fixes: fa69eaef5f49 ("common/mlx5: support ROCE disable through Netlink")
Cc: matan@mellanox.com
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
v2 - add DCO

 drivers/common/mlx5/mlx5_nl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Slava Ovsiienko April 28, 2020, 9:38 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger
> Sent: Thursday, April 23, 2020 1:32
> To: dev@dpdk.org
> Cc: Stephen Hemminger <stephen@networkplumber.org>; Matan Azrad
> <matan@mellanox.com>
> Subject: [dpdk-dev] [PATCH v2] common/mlx5: fix uninitialized variable
> warning
> 
> Gcc 8.3.0 (Debian 10) complains about unitilized variable.
> 
> [474/2122] Compiling C object
> 'drivers/a715181@@tmp_rte_common_mlx5@sta/common_mlx5_mlx5_nl.
> c.o'.
> In file included from ../drivers/common/mlx5/mlx5_nl.h:12,
>                  from ../drivers/common/mlx5/mlx5_nl.c:23:
> ../drivers/common/mlx5/mlx5_nl.c: In function ‘mlx5_nl_enable_roce_get’:
> ../drivers/common/mlx5/mlx5_common.h:68:2: warning: ‘cur_en’ may be
> used uninitialized in this function [-Wmaybe-uninitialized]
>   rte_log(RTE_LOG_ ## level, \
>   ^~~~~~~
> ../drivers/common/mlx5/mlx5_nl.c:1560:6: note: ‘cur_en’ was declared here
>   int cur_en;
>       ^~~~~~
> 
> The compiler is correct, this variable would only be set if kernel netlink
> response message contains the DEVLINK parameter that flags if ROCE is
> enabled.
> 
> Fixes: fa69eaef5f49 ("common/mlx5: support ROCE disable through Netlink")
> Cc: matan@mellanox.com
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

> ---
> v2 - add DCO
> 
>  drivers/common/mlx5/mlx5_nl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/common/mlx5/mlx5_nl.c
> b/drivers/common/mlx5/mlx5_nl.c index 847e78dbcea6..c6014c3ee0b3
> 100644
> --- a/drivers/common/mlx5/mlx5_nl.c
> +++ b/drivers/common/mlx5/mlx5_nl.c
> @@ -1557,7 +1557,7 @@ mlx5_nl_enable_roce_get(int nlsk_fd, int
> family_id, const char *pci_addr,
>  	struct genlmsghdr *genl;
>  	uint32_t sn = MLX5_NL_SN_GENERATE;
>  	int ret;
> -	int cur_en;
> +	int cur_en = 0;
>  	uint8_t buf[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
>  		    NLMSG_ALIGN(sizeof(struct genlmsghdr)) +
>  		    NLMSG_ALIGN(sizeof(struct nlattr)) * 4 +
> --
> 2.20.1
  
Raslan Darawsheh April 29, 2020, 12:20 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Stephen Hemminger
> Sent: Thursday, April 23, 2020 1:32 AM
> To: dev@dpdk.org
> Cc: Stephen Hemminger <stephen@networkplumber.org>; Matan Azrad
> <matan@mellanox.com>
> Subject: [dpdk-dev] [PATCH v2] common/mlx5: fix uninitialized variable
> warning
> 
> Gcc 8.3.0 (Debian 10) complains about unitilized variable.
> 
> [474/2122] Compiling C object
> 'drivers/a715181@@tmp_rte_common_mlx5@sta/common_mlx5_mlx5_nl.c
> .o'.
> In file included from ../drivers/common/mlx5/mlx5_nl.h:12,
>                  from ../drivers/common/mlx5/mlx5_nl.c:23:
> ../drivers/common/mlx5/mlx5_nl.c: In function ‘mlx5_nl_enable_roce_get’:
> ../drivers/common/mlx5/mlx5_common.h:68:2: warning: ‘cur_en’ may be
> used uninitialized in this function [-Wmaybe-uninitialized]
>   rte_log(RTE_LOG_ ## level, \
>   ^~~~~~~
> ../drivers/common/mlx5/mlx5_nl.c:1560:6: note: ‘cur_en’ was declared here
>   int cur_en;
>       ^~~~~~
> 
> The compiler is correct, this variable would only be set if kernel
> netlink response message contains the DEVLINK parameter that flags if
> ROCE is enabled.
> 
> Fixes: fa69eaef5f49 ("common/mlx5: support ROCE disable through Netlink")
> Cc: matan@mellanox.com
Added Cc: statble@dpdk.org

> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> v2 - add DCO
> 
>  drivers/common/mlx5/mlx5_nl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/common/mlx5/mlx5_nl.c
> b/drivers/common/mlx5/mlx5_nl.c
> index 847e78dbcea6..c6014c3ee0b3 100644
> --- a/drivers/common/mlx5/mlx5_nl.c
> +++ b/drivers/common/mlx5/mlx5_nl.c
> @@ -1557,7 +1557,7 @@ mlx5_nl_enable_roce_get(int nlsk_fd, int
> family_id, const char *pci_addr,
>  	struct genlmsghdr *genl;
>  	uint32_t sn = MLX5_NL_SN_GENERATE;
>  	int ret;
> -	int cur_en;
> +	int cur_en = 0;
>  	uint8_t buf[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
>  		    NLMSG_ALIGN(sizeof(struct genlmsghdr)) +
>  		    NLMSG_ALIGN(sizeof(struct nlattr)) * 4 +
> --
> 2.20.1

Patch applied to next-net-mlx,

Kindest regards
Raslan Darawsheh
  

Patch

diff --git a/drivers/common/mlx5/mlx5_nl.c b/drivers/common/mlx5/mlx5_nl.c
index 847e78dbcea6..c6014c3ee0b3 100644
--- a/drivers/common/mlx5/mlx5_nl.c
+++ b/drivers/common/mlx5/mlx5_nl.c
@@ -1557,7 +1557,7 @@  mlx5_nl_enable_roce_get(int nlsk_fd, int family_id, const char *pci_addr,
 	struct genlmsghdr *genl;
 	uint32_t sn = MLX5_NL_SN_GENERATE;
 	int ret;
-	int cur_en;
+	int cur_en = 0;
 	uint8_t buf[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +
 		    NLMSG_ALIGN(sizeof(struct genlmsghdr)) +
 		    NLMSG_ALIGN(sizeof(struct nlattr)) * 4 +