Stefan Christ 1b99b72489 drm/fb-helper: fix segfaults in drm_fb_helper_debug_*
A drm driver that is implementing

      fb_debug_enter and fb_debug_leave

in struct fb_ops with drm fb helper functions

     drm_fb_helper_debug_enter and drm_fb_helper_debug_leave

must also implement the callback 'mode_set_base_atomic' in struct
drm_crtc_helper_funcs. See Documentation/DocBook/kgdb.tmpl.  The current
implementation will segfault when 'mode_set_base_atomic' is a NULL
pointer.

Before this patch at least the drm drivers armada, ast, qxl, udl and
virtio do not have a 'mode_set_base_atomic' implementation but using
drm_fb_helper_debug_(enter|leave). So these drivers may segfault when
callbacks fb_debug_(enter|leave) are called.

Avoid the issue by just checking for NULL pointers. So all drivers can
unconditionally implement fb_debug_(enter|leave) with the drm_fb_helper
functions. If callback 'mode_set_base_atomic' is not implemented, the
code in drm_fb_helper_debug_(enter|leave) does effectively nothing.

Signed-off-by: Stefan Christ <contact@stefanchrist.eu>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1479078208-25221-2-git-send-email-contact@stefanchrist.eu
2016-11-14 07:47:34 +01:00
..
2016-11-07 09:37:09 +10:00
2016-11-01 16:56:05 -06:00
2016-10-06 17:13:54 -07:00
2016-10-10 10:58:22 +02:00
2016-10-11 12:52:41 -07:00
2016-10-21 21:40:29 +02:00
2016-11-05 11:15:09 -07:00
2016-10-07 21:23:40 -07:00
2016-10-07 08:35:35 -07:00
2016-10-29 11:19:02 -07:00
2016-11-05 10:52:29 -07:00
2016-10-07 21:23:40 -07:00
2016-11-05 11:11:31 -07:00
2016-10-19 11:45:06 -07:00
2016-10-06 17:03:49 -07:00
2016-10-14 13:13:44 -07:00
2016-11-05 11:28:21 -07:00
2016-10-14 11:07:42 -07:00
2016-11-05 11:15:09 -07:00
2016-10-24 19:52:24 -07:00