From: Roi Dayan Date: Sun, 19 Aug 2018 05:56:09 +0000 (+0300) Subject: net/mlx5: Fix not releasing read lock when adding flow rules X-Git-Tag: v4.18.10~218 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7da7294ce3030d0b76a72fe1438119cce3c938ae;p=users%2Fdwmw2%2Flinux.git net/mlx5: Fix not releasing read lock when adding flow rules [ Upstream commit 071304772fc747d5df13c51f1cf48a4b922a5e0d ] If building match list fg fails and we never jumped to search_again_locked label then the function returned without unlocking the read lock. Fixes: bd71b08ec2ee ("net/mlx5: Support multiple updates of steering rules in parallel") Signed-off-by: Roi Dayan Reviewed-by: Maor Gottlieb Signed-off-by: Saeed Mahameed Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index 6ddb2565884d5..8df9132896d63 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -1797,6 +1797,8 @@ search_again_locked: if (err) { if (take_write) up_write_ref_node(&ft->node); + else + up_read_ref_node(&ft->node); return ERR_PTR(err); }