drm: Hide master MAP cleanup in drm_bufs.c
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 27 Apr 2016 07:20:18 +0000 (09:20 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 27 Apr 2016 08:14:17 +0000 (10:14 +0200)
commit40647e45b92b1da599048332ec8fbd40d8d29457
tree03a7910a5d4ce575ec2817e7161e4b3d02213f85
parente975eef07cbca53691f504318609bb95c7e5f1ac
drm: Hide master MAP cleanup in drm_bufs.c

And again make sure it's a no-op for modern drivers. Another case of
dev->struct_mutex gone for modern drivers!

Note that the entirety of the legacy addmap interface is now protected
by DRIVER_MODESET. Note that just auditing kernel code is not enough,
since userspace loves to set up legacy maps on it's own for various
things - with ums userspace and kernel space share control over
resources.

v2: Also add a DRIVER_* check like for all other maps functions to
really short-circuit the code. And give drm_legacy_rmmap used by the
dev unregister code the same treatment.

v3:
- remove redundant return; (Alex, Chris)
- don't special case nouveau with DRIVER_KMS_LEGACY_CONTEXT.

v4: Again special case nouveau. The problem is not directly in the
ddx, but that it calls dri1 functions from the X server. And those do
call drmAddMap. Fixed only in

    commit b1a630b48210d6a3c44994fce1b73273000ace5c
    Author: Dave Airlie <airlied@redhat.com>
    Date:   Wed Nov 7 14:45:14 2012 +1000

        nouveau: drop DRI1 device open interface.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1461741618-12679-1-git-send-email-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_bufs.c
drivers/gpu/drm/drm_drv.c
include/drm/drm_legacy.h