[BUG] lockdep splat with kernfs lockdep annotations and slab mutex from drm patch??

Tejun Heo tj at kernel.org
Fri Jun 14 15:38:37 UTC 2019


Hello,

On Fri, Jun 14, 2019 at 04:08:33PM +0100, Chris Wilson wrote:
> #ifdef CONFIG_MEMCG
>         if (slab_state >= FULL && err >= 0 && is_root_cache(s)) {
>                 struct kmem_cache *c;
> 
>                 mutex_lock(&slab_mutex);
> 
> so it happens to hit the error + FULL case with the additional slabcaches?
> 
> Anyway, according to lockdep, it is dangerous to use the slab_mutex inside
> slab_attr_store().

Didn't really look into the code but it looks like slab_mutex is held
while trying to remove sysfs files.  sysfs file removal flushes
on-going accesses, so if a file operation then tries to grab a mutex
which is held during removal, it leads to a deadlock.

Thanks.

-- 
tejun


More information about the dri-devel mailing list