[dpdk-dev] net/mlx5: fix an uninitialised variable

Message ID 4b9e3b9e3328d43d5766a39391695e704298d04f.1491470160.git.nelio.laranjeiro@6wind.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Nélio Laranjeiro April 6, 2017, 9:16 a.m. UTC
  Since patch "mbuf: structure reorganization" the compiler complains

 .../drivers/net/mlx5/mlx5_rxtx.c: In function ‘mlx5_rx_burst’:
 .../drivers/net/mlx5/mlx5_rxtx.c:2082:17: error: ‘len’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]

len is not initialised as it will be at the first segment of a received
packet, but it remains hard for the compiler to determine it.

Fixes: 9964b965ad69 ("net/mlx5: re-add Rx scatter support")

Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon April 6, 2017, 11:06 a.m. UTC | #1
2017-04-06 11:16, Nelio Laranjeiro:
> Since patch "mbuf: structure reorganization" the compiler complains
> 
>  .../drivers/net/mlx5/mlx5_rxtx.c: In function ‘mlx5_rx_burst’:
>  .../drivers/net/mlx5/mlx5_rxtx.c:2082:17: error: ‘len’ may be used
> uninitialized in this function [-Werror=maybe-uninitialized]
> 
> len is not initialised as it will be at the first segment of a received
> packet, but it remains hard for the compiler to determine it.
> 
> Fixes: 9964b965ad69 ("net/mlx5: re-add Rx scatter support")
> 
> Cc: stable@dpdk.org
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> Acked-by: Olivier Matz <olivier.matz@6wind.com>

Applied, thanks

It is important to note that we see this error only after the mbuf rework
of 17.05, only with GCC, and only when debug is enabled.
  

Patch

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 06b699a..fae9d27 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -1972,7 +1972,7 @@  mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
 		&(*rxq->cqes)[rxq->cq_ci & cqe_cnt];
 	unsigned int i = 0;
 	unsigned int rq_ci = rxq->rq_ci << sges_n;
-	int len; /* keep its value across iterations. */
+	int len = 0; /* keep its value across iterations. */
 
 	while (pkts_n) {
 		unsigned int idx = rq_ci & wqe_cnt;