[PATCH AUTOSEL 6.18-6.12] net/mlx5: HWS, Handle destroying table that has a miss table

From: Sasha Levin

Date: Mon Aug 31 2026 - 10:47:03 EST


From: Yevgeny Kliteynik <kliteyn@xxxxxxxxxx>

[ Upstream commit 60e9e82f162ab7399373ff2185119289e4f6dc06 ]

If a table has a miss table that was created by
'mlx5hws_table_set_default_miss' API function, its miss_tbl
keeps the table that points to it in a list.
If such table is deleted, we need to also remove it from the
miss_tbl list, otherwise the node in miss_tbl list will contain
garbage.

Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxx>
Signed-off-by: Yevgeny Kliteynik <kliteyn@xxxxxxxxxx>
Reviewed-by: Moshe Shemesh <moshe@xxxxxxxxxx>
Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>
Link: https://patch.msgid.link/20260507173443.320465-3-tariqt@xxxxxxxxxx
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---

LLM Generated explanations, may be completely bogus:

The background `b4 dig` run finished without useful results: looking up
the wrong commit (`5d324e5159d9e`, the USB merge) found no lore match,
and the subject-line search failed because `b4 dig` doesn’t accept a
patch title as a positional argument.

That doesn’t change the earlier conclusion. The patch content and review
context came from the local mbox
(`20260507_tariqt_net_mlx5_steering_misc_enhancements.mbx`), and the
backport recommendation for this 6.18.43 tree remains **YES**.

drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c
index 6113383ae47bb..07a3dd1248c77 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c
@@ -282,6 +282,9 @@ int mlx5hws_table_destroy(struct mlx5hws_table *tbl)
goto unlock_err;
}

+ if (tbl->default_miss.miss_tbl)
+ list_del_init(&tbl->default_miss.next);
+
list_del_init(&tbl->tbl_list_node);
mutex_unlock(&ctx->ctrl_lock);

--
2.53.0