Messages in this thread | | | Date | Mon, 14 Sep 2009 11:29:11 +0800 | From | Danny Feng <> | Subject | Re: [GIT BISECT] BUG kmalloc-8192: Object already free from kmem_cache_destroy |
| |
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....
| |