net: qrtr: Use radix_tree_iter_delete

Use radix_tree_iter_delete instead of radix_tree_delete to properly
remove slots in a radix tree without any dangling references.

Change-Id: Ie72272d467b962538e7fe29b14c5d845308a9c51
Signed-off-by: Chris Lew <clew@codeaurora.org>
This commit is contained in:
Chris Lew 2020-01-13 19:43:48 -08:00
commit 34c09bf47f

View file

@ -341,7 +341,8 @@ static void __qrtr_node_release(struct kref *kref)
if (node->nid != QRTR_EP_NID_AUTO) {
radix_tree_for_each_slot(slot, &qrtr_nodes, &iter, 0) {
if (node == *slot)
radix_tree_delete(&qrtr_nodes, iter.index);
radix_tree_iter_delete(&qrtr_nodes, &iter,
slot);
}
}
spin_unlock_irqrestore(&qrtr_nodes_lock, flags);