In case when tree insertion fails due to already existing object
error, pointer to allocated object gets lost because of overwrite
with lookup_object() return. Free allocated object before object
lookup.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
if (node != &object->tree_node) {
kmemleak_stop("Cannot insert 0x%lx into the object search tree "
"(already existing)\n", ptr);
+ kmem_cache_free(object_cache, object);
object = lookup_object(ptr, 1);
spin_lock(&object->lock);
dump_object_info(object);