Olivier Fourdan
923837e2c9
xfree86: Check for RandR provider functions
...
Changing XRandR provider properties if the driver has set no provider
function such as the modesetting driver will cause a NULL pointer
dereference and a crash of the Xorg server.
Related to CVE-2025-49180
This issue was discovered by Nils Emmerich <nemmerich@ernw.de> and
reported by Julian Suleder via ERNW Vulnerability Disclosure.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2024 >
2025-06-17 20:01:25 +02:00
Enrico Weigelt, metux IT consult
c8b81fdbc5
drop Xwayland
...
It always had it's own lifecycle (not been part of Xorg releases),
doesn't make sense to maintain a competing implementation that we
won't use anyways.
Once that's gone, we can also drop few things in core/dix that had
been added just for xwayland only.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-17 12:51:36 +02:00
stefan11111
fa7cc111e7
xfree86: compat: add missing symbols needed by the proprietary nvidia drivers
...
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-06-16 20:07:18 +02:00
dasha_uwu
a776156b54
treewide: preemptively revert !1714 where it affects ABI compatibility
...
this adds dummy pointers in place of removed fields in some structs, only for
SDK headers, to preserve ABI
some of these fix segfaults for nvidia driver, some are preemptive
Signed-off-by: dasha_uwu <dasha@linuxping.win>
2025-06-16 10:32:48 +02:00
Steven Van Dorp
9acf6a4b63
ephyr: explicitly zero-initialize ephyrCursorScreen
...
Signed-off-by: Steven Van Dorp <steven@vandorp.lu>
2025-06-14 17:28:13 +02:00
Steven Van Dorp
c5f63fa138
ephyr: fix possible segfault if eyphrCursorScreen is 0
...
Fixes : #38
Signed-off-by: Steven Van Dorp <steven@vandorp.lu>
2025-06-14 17:28:13 +02:00
rendick
cd2e185838
Xnest: implement a defined initialization order in BoxRec
...
Signed-off-by: rendick <rendick123@proton.me>
2025-06-13 19:15:41 +02:00
cat
a0f4a5585d
Rebrand 'X.Org X Server' to 'XLibre X Server'
...
Signed-off-by: cat <cat@plan9.rocks>
2025-06-13 19:08:11 +02:00
dec05eba
8c3c20f3fe
xnest/os: Fix incorrect power of two operator
...
2^16 is 2 xor 16 which equals 18, not 2 to the power of 16 which is 65536
Signed-off-by: dec05eba <dec05eba@protonmail.com>
2025-06-13 13:27:25 +02:00
dec05eba
f397039d65
xres/xkb/xvmc/modesetting: Fix incorrect pointer data size usage
...
* xled change tested with `xset led named "Scroll Lock"`
* modesetting change tested with `xrandr --output DP-1 --gamma 0.5:0.5:0.5`.
Without this fix that command does nothing
* xvmc change tested with `mpv --vo=xv video.mp4`
Of the currently reported issues this fixes #104
Signed-off-by: dec05eba <dec05eba@protonmail.com>
2025-06-13 13:01:24 +02:00
Enrico Weigelt, metux IT consult
a75a587370
xfree86: mark xf86configptr exported for Nvidia legacy
...
Nvidia has a strange habit of messing with really internal stuff,
so need to add it to the executable's symbol table.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
e6467895f9
dix: add dixAllocServerXID()
...
Adding a separate function for allocating server-client's XIDs.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
49c6431695
xfree86: add per major-version driver/module subdirectories
...
Modules are now placed into a sub-directory by major Xserver release,
so we have less hassle with trying to load drivers w/ incompatible ABI.
The legacy directories are still searched (after the versioned ones)
for backwards compat with badly maintained proprietary drivers (Nvidia).
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
a58dba71bd
Revert "( !1991 ) xfree86: xf86Option: unexport xf86MarkOptionUsedByName()"
...
Reverting commit 63c8a689c3
on request by Nvidia
(proprietary driver)
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
f25bf57cc2
xfree86: compat: re-export MarkClientException() for horryibly maintained Nvidia
...
NVidia yet again doing crazy shit in their proprietary drivers:
This is an DIX-*internal* function for triggering client teardown when
connection broke or somehow lack of resources to accept new connections.
Video drivers have no business with that whatsoever - having them messing
with client client connections is just insane.
But still trying to be kind with Nvidia victims, thus adding a little wrapper
function under the old name. It spills out a log warning calling users to file
bug reports their driver vendor.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
6a3b60cfe7
xfree86: increase ABI versions
...
Since *a lot* has changed since last Xserver release, need to increase
the ABI version.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
c8a776f662
xfree86: compat: re-add xf86Msg() for badly maintained drivers.
...
NVidia yet again lagging behind a year with trivial cleanups,
even though they're informed about this function being deprecated
and dropped.
It spills out a log warning calling users to file bug reports their
driver vendor.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
3d21a15f54
xfree86: fix possible buffer overflow in xf86PrintBanner()
...
There's chance of buffer overflow happending due lack of zero-termination
of printed string. Making sure the buffer is always propertly terminated.
See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1821
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
329b7c8631
xfree86: xf86Priv.h: unexport xf86HasTTYs()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
806748ddd4
xfree86: xf86Priv.h: unexport xf86CallDriverProbe()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
86b05c5fae
xfree86: xf86Priv.h: unexport xf86LoadModules()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
2af74d6985
xfree86: xf86Priv.h: unexport xf86CloseLog()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
bb89c30942
xfree86: xf86Priv.h: unexport xf86LogInit()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
7b4f951670
xfree86: xf86Priv.h: unexport xf86PMConfirmEventToOs field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
5112ab6537
xfree86: xf86Priv.h: unexport xf86PMGetEventFromOs field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
b4daa83ef2
xfree86: xf86Priv.h: unexport xf86HandlePMEvents()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:48 +02:00
Enrico Weigelt, metux IT consult
9f87f854ea
xfree86: xf86Priv.h: unexport xf86Wakeup()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
8ec5445ff0
xfree86: xf86Priv.h: unexport DoShowOptions()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
77ec0be813
xfree86: xf86Priv.h: unexport DoConfigure()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
2890d16aab
xfree86: xf86Priv.h: unexport xf86PathIsSafe()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
2172796323
xfree86: xf86Priv.h: unexport xf86RemoveDevFromEntity()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
42092e98c5
xfree86: xf86Priv.h: unexport xf86ClearEntityListForScreen()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
8894397c07
xfree86: xf86Priv.h: unexport xf86PostProbe()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
c22caf754b
xfree86: xf86Priv.h: unexport xf86BusConfig()
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
3bda517f9b
xfree86: xf86Priv.h: unexport xf86DefaultModes field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
dc632a43d1
xfree86: xf86Priv.h: drop DEFAULT_VERBOSE and DEFAULT_LOG_VERBOSE defines
...
Not used by any external drivers, so we can use their values directly.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
ee512c3cc2
xfree86: xf86Priv.h: unexport xf86LogVerbose field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
ea5509a95f
xfree86: xf86Priv.h: unexport xf86Verbose field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
88f7ba963e
xfree86: xf86Priv.h: unexport xf86VisualNames field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
7f5ff374b6
xfree86: xf86Priv.h: unexport xf86Initialising field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
734c4a6462
xfree86: xf86Priv.h: unexport xf86Resetting field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
8a0ec43575
xfree86: xf86Priv.h: unexport xf86NumDrivers field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
a4e81a4e09
xfree86: xf86Priv.h: xf86LogFileWasOpened fields
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
134f5b4665
xfree86: xf86Priv.h: xf86LogFileFrom field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
61c5d14cf5
xfree86: xf86Priv.h: xf86LogFile field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
4081e13245
xfree86: xf86Priv.h: unexport xf86ModPathFrom
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
712dc3d368
xfree86: xf86Priv.h: unexport xf86ModulePath field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
48e1f66730
xfree86: xf86Priv.h: unexport xf86Gamma field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
c3f9b81144
xfree86: xf86Priv.h: unexport xf86FlipPixels()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00
Enrico Weigelt, metux IT consult
d3ebfeeebd
xfree86: xf86Priv.h: unexport xf86Weight field
...
Not used by any external drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:47 +02:00