[RFC] deadlock in "drm/exynos: fix wrong pointer access at vm close"

Al Viro viro at ZenIV.linux.org.uk
Sun Sep 22 14:29:11 PDT 2013

	You have drm_dev->struct_mutex grabbed before ->mmap_sem in
exynos_drm_gem_mmap_ioctl() and after - in exynos_drm_gem_fault()
(since ->fault() is always called with ->mmap_sem held).  Looks like
a garden-variety AB-BA deadlock...

	Incidentally, what should happen if another process shares the
same opened file (e.g. inherited over fork()) and does mmap() just
as we have ->f_op switched?

More information about the dri-devel mailing list