net/mlx5e: Always clear dest encap in neigh-update-del
authorChris Mi <cmi@nvidia.com>
Mon, 5 Dec 2022 01:22:50 +0000 (09:22 +0800)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 28 Dec 2022 19:38:50 +0000 (11:38 -0800)
commit2951b2e142ecf6e0115df785ba91e91b6da74602
tree6de4d93ed0ff45adb18b75baf66cd5f13c5ebfb7
parent849190e3e4ccf452fbe2240eace30a9ca83fb8d2
net/mlx5e: Always clear dest encap in neigh-update-del

The cited commit introduced a bug for multiple encapsulations flow.
If one dest encap becomes invalid, the flow is set slow path flag.
But when other dests encap become invalid, they are not cleared due
to slow path flag of the flow. When neigh-update-add is running, it
will use invalid encap.

Fix it by checking slow path flag after clearing dest encap.

Fixes: 9a5f9cc794e1 ("net/mlx5e: Fix possible use-after-free deleting fdb rule")
Signed-off-by: Chris Mi <cmi@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c