Re: [GIT BISECT] BUG kmalloc-8192: Object already free from kmem_cache_destroy

From: Danny Feng
Date: Sun Sep 13 2009 - 23:29:43 EST


On 09/14/2009 11:25 AM, Eric Paris wrote:
On Mon, 2009-09-14 at 11:18 +0800, Danny Feng wrote:
diff --git a/mm/slub.c b/mm/slub.c
index b627675..40e12d5 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3337,8 +3337,8 @@ struct kmem_cache *kmem_cache_create(const char
*name, size_t size,
goto err;
}
return s;
- }
- kfree(s);
+ } else
+ kfree(s);
}
up_write(&slub_lock);


Doesn't the return inside the conditional take care of this? I'll give
it a try in the morning, but I don't see how this can solve the
problem....

-Eric


err, you're right... let me try to find why. It's strange, if SLUB_DEBUG is not set, sysfs_slab_remove is just to free kmem_cache s. So I think if SLUB_DEBUG is not set, we also have the same issue....
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/