Re: SLUB: kmem_cache_destroy doesn't

From: Christoph Lameter
Date: Thu Apr 12 2007 - 12:38:32 EST


On Thu, 12 Apr 2007, Neil Brown wrote:

> And
>
> # cat /sys/slab/raid5-md1/aliases
> -1
>
> is a bit suspicious.

Yuck!

> void kmem_cache_destroy(struct kmem_cache *s)
> {
> down_write(&slub_lock);
> if (s->refcount)
> s->refcount--;
> else {
> list_del(&s->list);
> WARN_ON(kmem_cache_close(s));
> sysfs_slab_remove(s);
> kfree(s);
> }
> up_write(&slub_lock);
> }
>
> looks a bit odd.
> I would have thought the test should be:
>
> if (s->refcount > 1)

Correct. Does the change fix it?
-
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/