Avoid post-decrementing the segment index when it is zero in the
error cleanup path of mlx5_rxq_mempool_register().
Coverity issue: 503770
Fixes: 8d1cb02da5b7 ("net/mlx5: support selective Rx")
Cc: [email protected]
Signed-off-by: Maayan Kashani <[email protected]>
---
drivers/net/mlx5/mlx5_trigger.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index c2804c58974..b6ce0133c93 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -187,10 +187,13 @@ mlx5_rxq_mempool_register(struct mlx5_rxq_ctrl *rxq_ctrl)
return 0;
error:
- while (s-- > 0) {
+ while (s > 0) {
+ s--;
seg = &rxq_ctrl->rxq.rxseg[s];
- mlx5_free(seg->null_mbuf);
- seg->null_mbuf = NULL;
+ if (!seg->mp) {
+ mlx5_free(seg->null_mbuf);
+ seg->null_mbuf = NULL;
+ }
}
return ret;
}
--
2.21.0