Fixed issue could occur when Mbuf starvation happens in a middle of reception of a segmented packet. In such a situation, after release the segments of that packet, it does not align consumer index to the next stride. This would cause receive a wrong segmented packet.
Fixes: 15a756b63734 ("net/mlx5: fix possible NULL dereference in Rx path") Cc: sta...@dpdk.org Signed-off-by: Jiawei Zhu <17826875...@163.com> --- drivers/net/mlx5/mlx5_rxtx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index 2e4b87c..e3ce9fd 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -1480,6 +1480,9 @@ enum mlx5_txcmp_code { rte_mbuf_raw_free(pkt); pkt = rep; } + rq_ci >>= sges_n; + ++rq_ci; + rq_ci <<= sges_n; break; } if (!pkt) { -- 1.8.3.1