X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=lib%2Fradix-tree.c;h=bd4a8dfdf0b8052cdaedd0b3478eea4138ac100a;hb=HEAD;hp=7811ed3b4e701c2e0d82368a8bae457279ca3246;hpb=9073e1a804c3096eda84ee7cbf11d1f174236c75;p=~andy%2Flinux diff --git a/lib/radix-tree.c b/lib/radix-tree.c index 7811ed3b4e7..bd4a8dfdf0b 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -1253,8 +1253,10 @@ unsigned long radix_tree_locate_item(struct radix_tree_root *root, void *item) node = indirect_to_ptr(node); max_index = radix_tree_maxindex(node->height); - if (cur_index > max_index) + if (cur_index > max_index) { + rcu_read_unlock(); break; + } cur_index = __locate(node, item, cur_index, &found_index); rcu_read_unlock();