xserver/miext
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kiyoshi Spreclerg 3e2fccbb7a miext/sync/misyncfd.c: fix NULL deref on uninitialized screens
852128f18 made the screen private preallocated, so it exists on every
screen as soon as the single global key is registered. sync_fd_screen_priv()
therefore never returns NULL again, which breaks the "already initialized"
check in miSyncFdScreenInit() and the guards in miSyncInitFenceFromFD() /
miSyncFDFromFence(), which then call through a zeroed funcs pointer.

Multi-GPU setups crash on this: with glamor on one screen and a non-glamor
driver (NVIDIA blob under PRIME) on the other, XSyncCreateFenceFromFD on
the latter kills the server.

Use a filled-in funcs as the sentinel instead of the private's presence.

Assisted-by: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Kiyoshi Spreclerg <kiyoshi_pip@protonmail.com>
2026-08-31 12:39:20 +02:00
..
damage miext: use stdbool's 'bool' instead of 'Bool' for local variables 2026-08-07 14:26:48 +02:00
rootless rootless: fix dangling screen pixmap on RootlessUpdateScreenPixmap() OOM 2026-08-07 14:51:43 +02:00
shadow miext: parentheses around macro argument symbols 2026-06-24 14:13:33 +02:00
sync miext/sync/misyncfd.c: fix NULL deref on uninitialized screens 2026-08-31 12:39:20 +02:00
extinit_priv.h Xext: remove the XF86-BigFont extension 2026-07-27 18:31:44 +02:00