net/mlx5: Avoid NULL pointer dereference on steering cleanup
authorMaor Gottlieb <maorg@mellanox.com>
Wed, 23 Aug 2017 14:50:03 +0000 (17:50 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Tue, 26 Sep 2017 17:52:00 +0000 (20:52 +0300)
commit800350a3f145010c353bd7425428c05ac5cfc26a
treec400118016e92f7c0786483f5295ea78af495026
parentb92af5a72ca982f0aa3df22f57a178aa5b0f4357
net/mlx5: Avoid NULL pointer dereference on steering cleanup

On cleanup, when the node is the last child of parent then it calls to
tree_put_node on the parent, if the parent's reference count
is decremented to 0 (for e.g. when deleting last destination of FTE)
then we free the parent as well and vice versa. In such a case
we will try to free the parent node again.
Increment the parent reference count before cleaning it's children
will prevent implicit release of the parent object.

Fixes: 0da2d66666d3 ('net/mlx5: Properly remove all steering objects')
signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c