net/mlx5: fix indirect action modify rollback
authorDmitry Kozlyuk <dkozlyuk@nvidia.com>
Wed, 21 Jul 2021 12:51:12 +0000 (15:51 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 22 Jul 2021 13:55:48 +0000 (15:55 +0200)
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: stable@dpdk.org
Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/mlx5_rxq.c

index 4a8b67e..49165f4 100644 (file)
@@ -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);