xserver/config
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gary T. Giesen 2e7ad6fe9d
Some checks failed
Build X servers / xserver-build-ubuntu (push) Has been cancelled
Build X servers / drivers-build-ubuntu (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
config/udev: guard against NULL subsystem in fallback bus id
config_udev_get_fallback_bus_id() passes the result of
udev_device_get_subsystem() straight into strcmp(). That accessor can return
NULL when the device has no subsystem, so strcmp(NULL, "pci") dereferences a
NULL pointer and the server crashes with a SIGSEGV.

The path is reached for any DRM device with no udev ID_PATH property, where
config_udev_odev_setup_attribs() falls back to this function. DisplayLink/evdi
virtual cards have no ID_PATH; a udev remove of such a card during teardown can
present a parent whose subsystem is already gone (reported NULL), and the
unchecked strcmp faults.

The same NULL-subsystem-into-strcmp class was fixed for the four sibling callers
in this file by commit 429ee86a; config_udev_get_fallback_bus_id() was added
later (commit 2f53d1cf) without the guard. The preceding parent==NULL case is
already guarded here; extend the same defensiveness to the subsystem lookup.

Related to: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1905

Signed-off-by: Gary T. Giesen <ggiesen@giesen.me>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2245>
(cherry picked from commit 9babe7e7f6)
2026-07-23 13:48:01 +02:00
..
10-nvidia-modules.conf.debian.in (release) xserver: config: split 10-nvidia.conf file 2026-05-04 16:58:37 +02:00
10-nvidia-modules.conf.in (release) xserver: config: split 10-nvidia.conf file 2026-05-04 16:58:37 +02:00
10-nvidia.conf.debian.in (release) xserver: config: split 10-nvidia.conf file 2026-05-04 16:58:37 +02:00
10-nvidia.conf.in (release) xserver: config: split 10-nvidia.conf file 2026-05-04 16:58:37 +02:00
10-quirks.conf config: add a quirk for Apple Silicon appledrm 2023-01-11 10:01:29 +00:00
config-backends.h config: Fix build with udev disabled 2026-06-05 15:51:09 +02:00
config.c config: fix build with -Dudev=false -Dudev_kms=true 2025-07-28 17:24:05 +02:00
dbus-api Hotplug: D-Bus: API version 2 2007-08-01 01:53:31 +03:00
dbus-core.c os: unexport internal logging functions 2025-06-12 17:21:46 +02:00
dbus-core.h include: move dbus-core.h to config 2024-04-23 01:46:24 +00:00
fdi2iclass.py fdi2iclass: remove unused local variable 2022-04-02 18:06:30 +00:00
hal.c os: unexport xstrtokenize() 2025-06-12 17:21:44 +02:00
hotplug_priv.h config: unexport config_init() and config_fini() 2025-11-20 14:11:27 +01:00
meson.build (release) xserver: config: split 10-nvidia.conf file 2026-05-04 16:58:37 +02:00
udev.c config/udev: guard against NULL subsystem in fallback bus id 2026-07-23 13:48:01 +02:00
wscons.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
x11-input.fdi config: remove mention of AllowEmptyInput 2010-11-11 10:26:44 +10:00