|
@@ -555,6 +555,7 @@ static struct kmemleak_object *create_object(unsigned long ptr, size_t size,
|
|
|
object->tree_node.last = ptr + size - 1;
|
|
|
|
|
|
write_lock_irqsave(&kmemleak_lock, flags);
|
|
|
+
|
|
|
min_addr = min(min_addr, ptr);
|
|
|
max_addr = max(max_addr, ptr + size);
|
|
|
node = prio_tree_insert(&object_tree_root, &object->tree_node);
|
|
@@ -565,14 +566,12 @@ static struct kmemleak_object *create_object(unsigned long ptr, size_t size,
|
|
|
* random memory blocks.
|
|
|
*/
|
|
|
if (node != &object->tree_node) {
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
kmemleak_stop("Cannot insert 0x%lx into the object search tree "
|
|
|
"(already existing)\n", ptr);
|
|
|
object = lookup_object(ptr, 1);
|
|
|
- spin_lock_irqsave(&object->lock, flags);
|
|
|
+ spin_lock(&object->lock);
|
|
|
dump_object_info(object);
|
|
|
- spin_unlock_irqrestore(&object->lock, flags);
|
|
|
+ spin_unlock(&object->lock);
|
|
|
|
|
|
goto out;
|
|
|
}
|