xserver-multidpi/glx
Olivier Fourdan 1191b23f94 glx: check for indirect context in CreateContextAttribsARB()
Commit 99f0365b "Add a command line argument for disabling indirect GLX"
added a test to check if indirect context are enabled in
`DoCreateContext()` but `__glXDisp_CreateContextAttribsARB()` doesn't
use `DoCreateContext()` and doesn't check if indirect context is
enabled.

As a result, clients can still manage to create indirect contexts using
`glXCreateContextAttribsARB()` even if indirect contexts are disabled,
which can possibly crash Xservers such as Xwayland or Xephyr when the
context is destroyed.

To avoid the issue, check for `enableIndirectGLX` in
`__glXDisp_CreateContextAttribsARB()` as well.

Fixes: 99f0365b "Add a command line argument for disabling indirect GLX"
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107508
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit 75448671ab)
2018-10-04 17:25:13 +02:00
..
clientinfo.c glx: Can't mix declarations and code in X.org sources [CVE-2014-8098 pt. 9] 2014-12-09 11:27:26 -08:00
createcontext.c glx: check for indirect context in CreateContextAttribsARB() 2018-10-04 17:25:13 +02:00
extension_string.c glx: Enable GLX_ARB_create_context_no_error (v2) 2018-02-26 10:18:58 -05:00
extension_string.h glx: Enable GLX_ARB_create_context_no_error (v2) 2018-02-26 10:18:58 -05:00
glxbyteorder.h Rewrite the byte swapping macros. 2017-04-25 15:01:23 -07:00
glxcmds.c glx: Be sure to set an error for ghost contexts 2018-05-08 12:15:30 -04:00
glxcmdsswap.c glx: Use vnd layer for dispatch (v4) 2018-02-14 17:04:44 -05:00
glxcontext.h glx: Large commands are context state, not client state 2018-02-14 17:04:48 -05:00
glxdrawable.h Add Windows-DRI extension 2016-09-15 20:10:29 +01:00
glxdri2.c glx: Fix indirect no-config contexts 2018-02-26 10:18:58 -05:00
glxdricommon.c glx: Do not call into Composite if it is disabled. 2018-04-10 14:37:47 -04:00
glxdricommon.h glx: remove unused systemTimeExtension 2017-09-08 11:23:35 -07:00
glxdriswrast.c glx: Enable GLX_ARB_create_context_no_error (v2) 2018-02-26 10:18:58 -05:00
glxext.c glx: Require depth > 12 for GLX visuals 2018-04-24 14:36:04 -04:00
glxext.h glx: Large commands are context state, not client state 2018-02-14 17:04:48 -05:00
glxscreens.c glx: Do not call into Composite if it is disabled. 2018-04-10 14:37:47 -04:00
glxscreens.h glx: Use vnd layer for dispatch (v4) 2018-02-14 17:04:44 -05:00
glxserver.h glx: Enable GLX_ARB_create_context_no_error (v2) 2018-02-26 10:18:58 -05:00
glxutil.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
indirect_dispatch_swap.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_dispatch.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_dispatch.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_program.c glx: Remove True/False defines 2017-08-21 10:12:54 -04:00
indirect_reqsize.c glx: Pass remaining request length into ->varsize (v2) [CVE-2014-8098 8/8] 2014-12-08 18:09:50 -08:00
indirect_reqsize.h glx: Pass remaining request length into ->varsize (v2) [CVE-2014-8098 8/8] 2014-12-08 18:09:50 -08:00
indirect_size_get.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_size_get.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_size.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_table.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_table.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
indirect_texture_compression.c glx: Remove __glXReply 2017-06-20 16:39:23 -04:00
indirect_util.c glx: Remove __glXReply 2017-06-20 16:39:23 -04:00
indirect_util.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
Makefile.am glx: Add vndserver.h to the SDK 2018-02-28 12:56:36 -05:00
meson.build meson: Fix indenting in glx/meson.build 2018-04-19 16:20:27 -04:00
render2.c glx: Convert non-generated function pointer thunking 2013-12-10 08:02:42 -08:00
render2swap.c glx: Convert non-generated function pointer thunking 2013-12-10 08:02:42 -08:00
renderpix.c glx: convert to direct GL dispatch (v2) 2013-10-29 12:29:16 -04:00
renderpixswap.c glx: convert to direct GL dispatch (v2) 2013-10-29 12:29:16 -04:00
rensize.c glx: Synchronize Xserver glx/rensize.c with mesa src/glx/compsize.c 2015-10-06 11:15:31 -04:00
single2.c glx: Remove some unused stuff from glxserver.h 2017-08-21 10:13:04 -04:00
single2swap.c glx: Remove __glXReply 2017-06-20 16:39:23 -04:00
singlepix.c glx: Remove __glXReply 2017-06-20 16:39:23 -04:00
singlepixswap.c glx: Remove __glXReply 2017-06-20 16:39:23 -04:00
singlesize.c glx: convert to direct GL dispatch (v2) 2013-10-29 12:29:16 -04:00
singlesize.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swap_interval.c glx: Length-checking for non-generated vendor private requests [CVE-2014-8098 6/8] 2014-12-08 18:09:50 -08:00
unpack.h glx: Remove __glXReply 2017-06-20 16:39:23 -04:00
vnd_dispatch_stubs.c glx: Import glxvnd server module (v2) 2018-02-14 17:04:35 -05:00
vndcmds.c glx/vndcmds: Fix vendor hash table key size 2018-08-01 11:01:37 -04:00
vndext.c vnd: Disable GLX if no vendors successfully initialized 2018-04-24 14:36:04 -04:00
vndserver.h vnd: Disable GLX if no vendors successfully initialized 2018-04-24 14:36:04 -04:00
vndservermapping.c glx: Import glxvnd server module (v2) 2018-02-14 17:04:35 -05:00
vndservervendor.c glx: Import glxvnd server module (v2) 2018-02-14 17:04:35 -05:00
vndservervendor.h glx: Import glxvnd server module (v2) 2018-02-14 17:04:35 -05:00
xfont.c glx: Use vnd layer for dispatch (v4) 2018-02-14 17:04:44 -05:00