]> git.baikalelectronics.ru Git - kernel.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)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Apr 2016 18:51:38 +0000 (14:51 -0400)
commitea27850b3add89d7d18d7bce916abf70f97e7708
tree0e82ce86364cd38cfd80f19010e6b9b04294c907
parent3c4162e4dcd008b1c8b0e59ffd4e97044be1e077
net/mlx5_core: Fix soft lockup in steering error flow

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: 22b59b3c7509 ('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>
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c