net/bnxt: fix uninitialized variable access

Message ID 20181028043542.87350-1-ferruh.yigit@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/bnxt: fix uninitialized variable access |

Checks

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

Commit Message

Ferruh Yigit Oct. 28, 2018, 4:35 a.m. UTC
  ag_cons is used uninitialized, it is used when DEBUG enabled, remove
debug code.

Fixes: 0958d8b6435d ("net/bnxt: support LRO")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/bnxt/bnxt_rxr.c | 24 ------------------------
 1 file changed, 24 deletions(-)
  

Comments

Ajit Khaparde Nov. 5, 2018, 5:38 p.m. UTC | #1
On Sat, Oct 27, 2018 at 8:36 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> ag_cons is used uninitialized, it is used when DEBUG enabled, remove
> debug code.
>
> Fixes: 0958d8b6435d ("net/bnxt: support LRO")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

We have not enabled this for debug for a while now.
We can remove this. Thanks



> ---
>  drivers/net/bnxt/bnxt_rxr.c | 24 ------------------------
>  1 file changed, 24 deletions(-)
>
> diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
> index c7bc88481..1bfc63d93 100644
> --- a/drivers/net/bnxt/bnxt_rxr.c
> +++ b/drivers/net/bnxt/bnxt_rxr.c
> @@ -102,25 +102,6 @@ static inline void bnxt_reuse_rx_mbuf(struct
> bnxt_rx_ring_info *rxr,
>         rxr->rx_prod = prod;
>  }
>
> -#ifdef BNXT_DEBUG
> -static void bnxt_reuse_ag_mbuf(struct bnxt_rx_ring_info *rxr, uint16_t
> cons,
> -                              struct rte_mbuf *mbuf)
> -{
> -       uint16_t prod = rxr->ag_prod;
> -       struct bnxt_sw_rx_bd *prod_rx_buf;
> -       struct rx_prod_pkt_bd *prod_bd, *cons_bd;
> -
> -       prod_rx_buf = &rxr->ag_buf_ring[prod];
> -
> -       prod_rx_buf->mbuf = mbuf;
> -
> -       prod_bd = &rxr->ag_desc_ring[prod];
> -       cons_bd = &rxr->ag_desc_ring[cons];
> -
> -       prod_bd->address = cons_bd->addr;
> -}
> -#endif
> -
>  static inline
>  struct rte_mbuf *bnxt_consume_rx_buf(struct bnxt_rx_ring_info *rxr,
>                                      uint16_t cons)
> @@ -377,9 +358,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
>         uint32_t tmp_raw_cons = *raw_cons;
>         uint16_t cons, prod, cp_cons =
>             RING_CMP(cpr->cp_ring_struct, tmp_raw_cons);
> -#ifdef BNXT_DEBUG
> -       uint16_t ag_cons;
> -#endif
>         struct rte_mbuf *mbuf;
>         int rc = 0;
>         uint8_t agg_buf = 0;
> @@ -482,8 +460,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
>         if (rxcmp1->errors_v2 & RX_CMP_L2_ERRORS) {
>                 /* Re-install the mbuf back to the rx ring */
>                 bnxt_reuse_rx_mbuf(rxr, cons, mbuf);
> -               if (agg_buf)
> -                       bnxt_reuse_ag_mbuf(rxr, ag_cons, mbuf);
>
>                 rc = -EIO;
>                 goto next_rx;
> --
> 2.17.2
>
>
  
Ferruh Yigit Nov. 5, 2018, 5:56 p.m. UTC | #2
On 11/5/2018 5:38 PM, Ajit Khaparde wrote:
> 
> 
> On Sat, Oct 27, 2018 at 8:36 PM Ferruh Yigit <ferruh.yigit@intel.com
> <mailto:ferruh.yigit@intel.com>> wrote:
> 
>     ag_cons is used uninitialized, it is used when DEBUG enabled, remove
>     debug code.
> 
>     Fixes: 0958d8b6435d ("net/bnxt: support LRO")
>     Cc: stable@dpdk.org <mailto:stable@dpdk.org>
> 
>     Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com
>     <mailto:ferruh.yigit@intel.com>>
> 
> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com
> <mailto:ajit.khaparde@broadcom.com>>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index c7bc88481..1bfc63d93 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -102,25 +102,6 @@  static inline void bnxt_reuse_rx_mbuf(struct bnxt_rx_ring_info *rxr,
 	rxr->rx_prod = prod;
 }
 
-#ifdef BNXT_DEBUG
-static void bnxt_reuse_ag_mbuf(struct bnxt_rx_ring_info *rxr, uint16_t cons,
-			       struct rte_mbuf *mbuf)
-{
-	uint16_t prod = rxr->ag_prod;
-	struct bnxt_sw_rx_bd *prod_rx_buf;
-	struct rx_prod_pkt_bd *prod_bd, *cons_bd;
-
-	prod_rx_buf = &rxr->ag_buf_ring[prod];
-
-	prod_rx_buf->mbuf = mbuf;
-
-	prod_bd = &rxr->ag_desc_ring[prod];
-	cons_bd = &rxr->ag_desc_ring[cons];
-
-	prod_bd->address = cons_bd->addr;
-}
-#endif
-
 static inline
 struct rte_mbuf *bnxt_consume_rx_buf(struct bnxt_rx_ring_info *rxr,
 				     uint16_t cons)
@@ -377,9 +358,6 @@  static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
 	uint32_t tmp_raw_cons = *raw_cons;
 	uint16_t cons, prod, cp_cons =
 	    RING_CMP(cpr->cp_ring_struct, tmp_raw_cons);
-#ifdef BNXT_DEBUG
-	uint16_t ag_cons;
-#endif
 	struct rte_mbuf *mbuf;
 	int rc = 0;
 	uint8_t agg_buf = 0;
@@ -482,8 +460,6 @@  static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
 	if (rxcmp1->errors_v2 & RX_CMP_L2_ERRORS) {
 		/* Re-install the mbuf back to the rx ring */
 		bnxt_reuse_rx_mbuf(rxr, cons, mbuf);
-		if (agg_buf)
-			bnxt_reuse_ag_mbuf(rxr, ag_cons, mbuf);
 
 		rc = -EIO;
 		goto next_rx;