> > and I can't see what makes this safe if the drm_release for the master > > and a client occur at the same time ? > > lock_kernel in drm_release. We probably need to clean that up.
I don't think that works. drm_open_helper doesn't appear to be under the BKL merely the struct mutex. > > The setmaster/dropmaster ioctl seems similar - the various conditional > > checks are not protected from parallel changes occuring during their > > execution. > > > > Is this a bug or is something clever afoot ? > > These ioctls are also under the BKL. But setmaster can sleep so the BKL is dropped on contention of the struct_mutex, ditto dropmaster Alan