On Thu, Jun 17, 2021 at 05:47:33PM +0800, Qiang Ma wrote: > The drm_file pointer clears to zero during multi-user switching, > so it needs to call drm_new_set_master for master pointer from drm_file. That sounds like a bug. drm_file->master should be always the same - either you become a new stand-alone thing, our you get linked to the current master. Or I'm completely missing what you're trying to fix here. -Daniel > > Signed-off-by: Qiang Ma <maqianga@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_auth.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c > index f2d46b7ac6f9..02431af6d0c5 100644 > --- a/drivers/gpu/drm/drm_auth.c > +++ b/drivers/gpu/drm/drm_auth.c > @@ -302,7 +302,7 @@ int drm_master_open(struct drm_file *file_priv) > /* if there is no current master make this fd it, but do not create > * any master object for render clients */ > mutex_lock(&dev->master_mutex); > - if (!dev->master) > + if (!file_priv->master) > ret = drm_new_set_master(dev, file_priv); > else > file_priv->master = drm_master_get(dev->master); > -- > 2.20.1 > > > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch