]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net/mlx5e: Don't leak RSS context in case of error
authorGal Pressman <gal@nvidia.com>
Wed, 13 May 2026 06:27:37 +0000 (09:27 +0300)
committerJakub Kicinski <kuba@kernel.org>
Fri, 15 May 2026 01:33:48 +0000 (18:33 -0700)
If mlx5e_rx_res_rss_set_rxfh() fails during mlx5e_create_rxfh_context(),
the RSS context is not cleaned up.
This leaves a stale entry in 'res->rss[rss_idx]' that occupies a context
slot.

Destroy the RSS context before returning the error.

Fixes: 6c2509d44636 ("net/mlx5e: Add error flow for ethtool -X command")
Signed-off-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Nimrod Oren <noren@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260513062737.333259-1-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c

index bb61e217907888a4e3c1ffd5aba99bfe727165b0..99a0034b9b2011f055b8bc4521b0ed80aa776ac4 100644 (file)
@@ -1574,8 +1574,11 @@ static int mlx5e_create_rxfh_context(struct net_device *dev,
                                        rxfh->indir, rxfh->key,
                                        hfunc == ETH_RSS_HASH_NO_CHANGE ? NULL : &hfunc,
                                        rxfh->input_xfrm == RXH_XFRM_NO_CHANGE ? NULL : &symmetric);
-       if (err)
+       if (err) {
+               WARN_ON(mlx5e_rx_res_rss_destroy(priv->rx_res,
+                                                rxfh->rss_context));
                goto unlock;
+       }
 
        mlx5e_rx_res_rss_get_rxfh(priv->rx_res, rxfh->rss_context,
                                  ethtool_rxfh_context_indir(ctx),