xserver/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
..
Makefile.am glx: Add vndserver.h to the SDK 2018-02-28 12:56:36 -05:00
clientinfo.c
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
indirect_dispatch.c
indirect_dispatch.h
indirect_dispatch_swap.c
indirect_program.c glx: Remove True/False defines 2017-08-21 10:12:54 -04:00
indirect_reqsize.c
indirect_reqsize.h
indirect_size.h
indirect_size_get.c
indirect_size_get.h
indirect_table.c
indirect_table.h
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
meson.build meson: Fix indenting in glx/meson.build 2018-04-19 16:20:27 -04:00
render2.c
render2swap.c
renderpix.c
renderpixswap.c
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
singlesize.h
swap_interval.c
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