Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 800350a3 authored by Maor Gottlieb's avatar Maor Gottlieb Committed by Saeed Mahameed
Browse files

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: 0da2d666 ('net/mlx5: Properly remove all steering objects')
signed-off-by: default avatarMaor Gottlieb <maorg@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent b92af5a7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2068,8 +2068,10 @@ static void clean_tree(struct fs_node *node)
		struct fs_node *iter;
		struct fs_node *temp;

		tree_get_node(node);
		list_for_each_entry_safe(iter, temp, &node->children, list)
			clean_tree(iter);
		tree_put_node(node);
		tree_remove_node(node);
	}
}