From 34c09bf47fd656f1ec67fb5198acdc5dda76ca00 Mon Sep 17 00:00:00 2001 From: Chris Lew Date: Mon, 13 Jan 2020 19:43:48 -0800 Subject: [PATCH] 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 --- net/qrtr/qrtr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index 65e208785b06..66224e65985f 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -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);