On Wed, Nov 27, 2013 at 02:29:41PM +0100, Thomas Gleixner wrote:
> Though the kobject is the only thing which has a delayed work embedded
> inside struct kmem_cache. And the debug object splat points at the
> kmem_cache_free() of the struct kmem_cache itself. That's why I
> assumed the wreckage around that place. And indeed:
> 
> kmem_cache_destroy(s)
>     __kmem_cache_shutdown(s)
>       sysfs_slab_remove(s)
>         ....
>       kobject_put(&s->kobj)
>            kref_put(&kobj->kref, kobject_release);
>            kobject_release(kref)
>              #ifdef CONFIG_DEBUG_KOBJECT_RELEASE
>                schedule_delayed_work(&kobj->release)
>              #else
>               kobject_cleanup(kobj)
>              #endif
> 
> So in the CONFIG_DEBUG_KOBJECT_RELEASE=y case, schedule_delayed_work()
> _IS_ called which arms the timer. debugobjects catches the attempt to
> free struct kmem_cache which contains the armed timer.

You fail to show where the free is in the above path.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to