xserver/hw/xfree86/drivers/modesetting
Alex Goins 341a478715 modesetting: Fix ms_covering_crtc() segfault with non-modesetting slave primary
ms_covering_crtc() uses RRFirstOutput() to determine a primary output to fall
back to if a drawable is overlapping a slave output.

If the primary output is a slave output, RRFirstOutput() will return a slave
output even if passed a master ScreenPtr. ms_covering_crtc() dereferences the
output's devPrivate, which is invalid for non-modesetting outputs, and can
crash.

Changing RRFirstOutput() could have unintended side effects for other callers,
so this change replaces the call to RRFirstOutput() with ms_first_output().
ms_first_output() ignores the primary output if it doesn't match the given
ScreenPtr, choosing the first connected output instead.

Signed-off-by: Alex Goins <agoins@nvidia.com>
(cherry picked from commit 3ef9029ace)
2019-11-11 14:46:32 -08:00
..
Makefile.am modesetting: Fix broken manpage in autoconf build 2019-10-30 19:38:30 +00:00
dri2.c modesetting: Fix inverted check in dri2 WaitMSC 2018-04-17 10:26:25 -04:00
driver.c modesetting: get pEnt after error checks 2018-10-04 17:26:20 +02:00
driver.h modesetting: Allow a DRM fd to be passed on command line with -masterfd [v2] 2018-08-01 11:01:37 -04:00
drmmode_display.c modesetting: fix conn_id termination and potential overrun by 1 byte 2019-02-20 14:23:33 -05:00
drmmode_display.h During reset/shutdown, clean up leases in DIX instead of each driver 2018-08-07 12:08:01 -04:00
dumb_bo.c modesetting: Include dix-config.h from dumb_bo.c 2015-05-12 08:02:11 -07:00
dumb_bo.h modesetting: Drop dumb_bo::map_count field and dead unmap code. 2014-12-11 11:26:19 -08:00
meson.build modesetting: set gbm as dependency in meson build 2018-05-08 12:41:58 -04:00
modesetting.man modesetting: Document Option "DoubleShadow" in the man page 2018-10-04 17:25:52 +02:00
pageflip.c modesetting: Use atomic modesetting to set DPMS mode 2018-04-04 14:01:48 -04:00
present.c modesetting: Fix GBM objects leak when checking for flip 2018-04-30 14:01:02 -04:00
vblank.c modesetting: Fix ms_covering_crtc() segfault with non-modesetting slave primary 2019-11-11 14:46:32 -08:00