[PATCH 19.11] net/bnxt: fix Rx next consumer index in mbuf alloc fail
Christian Ehrhardt
christian.ehrhardt at canonical.com
Wed Dec 1 11:31:35 CET 2021
On Wed, Dec 1, 2021 at 7:02 AM Somnath Kotur <somnath.kotur at broadcom.com> wrote:
>
> [ upstream commit a7e21843f0f6067ebe36eafff9b8319092db3fc4 ]
>
Thanks, applied
> The driver internal variable to track the next consumer index on
> the Rx ring was not being set if there was an mbuf allocation
> failure. In that scenario, eventually it would fall out of sync
> with the actual consumer index and raise a false alarm on Thor
> needlessly causing a segmentation fault with testpmd
>
> Fixes: 03c8f2fe111c ("net/bnxt: detect bad opaque in Rx completion")
> Cc: stable at dpdk.org
>
> Signed-off-by: Somnath Kotur <somnath.kotur at broadcom.com>
> Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> ---
> drivers/net/bnxt/bnxt_rxr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
> index f830bb6702..1e0640829f 100644
> --- a/drivers/net/bnxt/bnxt_rxr.c
> +++ b/drivers/net/bnxt/bnxt_rxr.c
> @@ -684,12 +684,12 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
> goto rx;
> }
> rxr->rx_prod = prod;
> +rx:
> rxr->rx_next_cons = RING_NEXT(rxr->rx_ring_struct, cons);
> /*
> * All MBUFs are allocated with the same size under DPDK,
> * no optimization for rx_copy_thresh
> */
> -rx:
> *rx_pkt = mbuf;
>
> next_rx:
> --
> 2.28.0.497.g54e85e7
>
--
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd
More information about the stable
mailing list