|
@@ -2034,10 +2034,12 @@ void *radix_tree_delete_item(struct radix_tree_root *root,
|
|
unsigned long index, void *item)
|
|
unsigned long index, void *item)
|
|
{
|
|
{
|
|
struct radix_tree_node *node = NULL;
|
|
struct radix_tree_node *node = NULL;
|
|
- void __rcu **slot;
|
|
|
|
|
|
+ void __rcu **slot = NULL;
|
|
void *entry;
|
|
void *entry;
|
|
|
|
|
|
entry = __radix_tree_lookup(root, index, &node, &slot);
|
|
entry = __radix_tree_lookup(root, index, &node, &slot);
|
|
|
|
+ if (!slot)
|
|
|
|
+ return NULL;
|
|
if (!entry && (!is_idr(root) || node_tag_get(root, node, IDR_FREE,
|
|
if (!entry && (!is_idr(root) || node_tag_get(root, node, IDR_FREE,
|
|
get_slot_offset(node, slot))))
|
|
get_slot_offset(node, slot))))
|
|
return NULL;
|
|
return NULL;
|