4.9-rc1 lockdep warning suggesting a deadlock between nouveau and i915 with prime video outputs active

Peter Zijlstra peterz at infradead.org
Thu Jul 13 14:01:15 UTC 2017


On Thu, Jul 13, 2017 at 03:57:31PM +0200, Jiri Slaby wrote:

> Hmm, not that easy:
> [  +0.011001] BUG: key ffff8807573ed758 not in .data!
> [  +0.000103] DEBUG_LOCKS_WARN_ON(1)
> [  +0.000012] ------------[ cut here ]------------
> [  +0.000147] WARNING: CPU: 1 PID: 282 at
> ../kernel/locking/lockdep.c:3156 lockdep_init_map+0x4db/0x5e0

> > diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> > index 6efdba4993fc..3e4dc782812d 100644
> > --- a/drivers/gpu/drm/drm_drv.c
> > +++ b/drivers/gpu/drm/drm_drv.c
> > @@ -505,7 +505,9 @@ int drm_dev_init(struct drm_device *dev,
> >  
> >         spin_lock_init(&dev->buf_lock);
> >         spin_lock_init(&dev->event_lock);
> > -       mutex_init(&dev->struct_mutex);
> > +       __mutex_init(&dev->struct_mutex,
> > +                    "struct_mutex",
> > +                    &dev->struct_mutex_class);
> >         mutex_init(&dev->filelist_mutex);
> >         mutex_init(&dev->ctxlist_mutex);
> >         mutex_init(&dev->master_mutex);

Right, its complaining about @dev being dynamically allocated. Keys must
be from static storage in order to guarantee they're not re-used for
something different.


More information about the dri-devel mailing list