drm: Protect the master management with a drm_device::master_mutex v3
authorThomas Hellstrom <thellstrom@vmware.com>
Tue, 25 Feb 2014 18:57:44 +0000 (19:57 +0100)
committerThomas Hellstrom <thellstrom@vmware.com>
Fri, 28 Mar 2014 13:19:02 +0000 (14:19 +0100)
commitc996fd0b956450563454e7ccc97a82ca31f9d043
tree68fa27376f60773bd2feaf5340351cb29e0a834b
parenta12cd0025cdc0b4d43b79249dbd8c266af284032
drm: Protect the master management with a drm_device::master_mutex v3

The master management was previously protected by the drm_device::struct_mutex.
In order to avoid locking order violations in a reworked dropped master
security check in the vmwgfx driver, break it out into a separate master_mutex.
Locking order is master_mutex -> struct_mutex.

Also remove drm_master::blocked since it's not used.

v2: Add an inline comment about what drm_device::master_mutex is protecting.
v3: Remove unneeded struct_mutex locks. Fix error returns in
    drm_setmaster_ioctl().

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Acked-by: Daniel Vetter <daniel@ffwll.ch>
drivers/gpu/drm/drm_fops.c
drivers/gpu/drm/drm_stub.c
include/drm/drmP.h