]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net/mlx5_core: Fix soft lockup in steering error flow
authorMaor Gottlieb <maorg@mellanox.com>
Thu, 21 Apr 2016 21:33:00 +0000 (00:33 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 May 2016 01:35:02 +0000 (18:35 -0700)
commit2eeed9d5da7c144c9e1dda81094b9cb711333cb2
treee596cc65fb90e6c1fc18438059c8d5bac3358c9b
parent0c056cfb4195db32a96a82640dd3f0f6ac48131a
net/mlx5_core: Fix soft lockup in steering error flow

[ Upstream commit c3f9bf628bc7edda298897d952f5e761137229c9 ]

In the error flow of adding flow rule to auto-grouped flow
table, we call to tree_remove_node.

tree_remove_node locks the node's parent, however the node's parent
is already locked by mlx5_add_flow_rule and this causes a deadlock.
After this patch, if we failed to add the flow rule, we unlock the
flow table before calling to tree_remove_node.

fixes: f0d22d187473 ('net/mlx5_core: Introduce flow steering autogrouped
flow table')
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Reported-by: Amir Vadai <amir@vadai.me>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c