mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-21 21:38:04 -04:00
net/mlx5: Fix L3 tunnel entropy refcount leak
mlx5_tun_entropy_refcount_inc() counts both VXLAN and L2-to-L3
tunnel reformat entries as entropy-enabling users. The matching
decrement path only handled VXLAN, leaving L2-to-L3 tunnel entries
counted after release.
Handle MLX5_REFORMAT_TYPE_L2_TO_L3_TUNNEL in
mlx5_tun_entropy_refcount_dec() as well so the enabling entry
refcount remains balanced.
Fixes: f828ca6a2f ("net/mlx5e: Add support for hw encapsulation of MPLS over UDP")
Signed-off-by: Li RongQing <lirongqing@baidu.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260703141423.1723-1-lirongqing@baidu.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
@@ -176,7 +176,8 @@ void mlx5_tun_entropy_refcount_dec(struct mlx5_tun_entropy *tun_entropy,
|
||||
int reformat_type)
|
||||
{
|
||||
mutex_lock(&tun_entropy->lock);
|
||||
if (reformat_type == MLX5_REFORMAT_TYPE_L2_TO_VXLAN)
|
||||
if (reformat_type == MLX5_REFORMAT_TYPE_L2_TO_VXLAN ||
|
||||
reformat_type == MLX5_REFORMAT_TYPE_L2_TO_L3_TUNNEL)
|
||||
tun_entropy->num_enabling_entries--;
|
||||
else if (reformat_type == MLX5_REFORMAT_TYPE_L2_TO_NVGRE &&
|
||||
--tun_entropy->num_disabling_entries == 0)
|
||||
|
||||
Reference in New Issue
Block a user