net/mlx5: fix indirect action modify rollback
Checks
Commit Message
mlx5_ind_table_obj_modify() first references queues from the new list,
then applies the new list to HW. In case of apply failure the function
dereferenced queues from the old list, while it should be the new list.
Fixes: fa7ad49e96b5 ("net/mlx5: fix shared RSS action update")
Cc: andreyv@nvidia.com
Cc: stable@dpdk.org
Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
drivers/net/mlx5/mlx5_rxq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
21/07/2021 14:51, Dmitry Kozlyuk:
> mlx5_ind_table_obj_modify() first references queues from the new list,
> then applies the new list to HW. In case of apply failure the function
> dereferenced queues from the old list, while it should be the new list.
>
> Fixes: fa7ad49e96b5 ("net/mlx5: fix shared RSS action update")
> Cc: andreyv@nvidia.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
Applied, thanks
@@ -2086,7 +2086,7 @@ mlx5_ind_table_obj_modify(struct rte_eth_dev *dev,
error:
err = rte_errno;
for (j = 0; j < i; j++)
- mlx5_rxq_release(dev, ind_tbl->queues[j]);
+ mlx5_rxq_release(dev, queues[j]);
rte_errno = err;
DRV_LOG(DEBUG, "Port %u cannot setup indirection table.",
dev->data->port_id);