xserver/randr
hongao 341e47815e randr: clear primary screen's primaryOutput when the output is deleted
This fix use after free when a pluggable gpu screen (such as displaylink)
was set as primary screen and unpluged.

gdb backtrace:
 #0 OssigHandler (signo=11, sip=0x7fff2e0a50f0, unused=0x7fff2e0a4fc0) at ../../../../os/osinit.c:138
 #1 <signal handler called>
 #2 rrGetscreenResources (client=0x3195160, query=0) at ../../../../randr/rrscreen.c:577
 #3 0x0000000000562bae in ProcRRGetscreenResourcesCurrent (client=0x3195160) at ../../../../randr/rrscreen.c:652
 #4 OxOOOOB0000054de63 in ProcRRDispatch (client=0x3195160) at ../../../../randr/randr.c:717
 #5 0x00000000004322c6 in Dispatch () at ../../../../dix/dispatch.c:485
 #6 0x0900900990443139 in dix_main (argc=12, argv=0x7fff2e0a5f78, envp=0x7fff2e0a5fe0) at ../../../../dix/main.c:276
 #7 0X0000000000421d9a in main (argc=12, argv=0x7fff2e0a5f78, envp=0x7fff2e0a5fe0) at ../../../../dix/stubmain.c:34

Signed-off-by: hongao <hongao@uniontech.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1553>
(cherry picked from commit 1443fd34ea)
2026-03-24 16:05:35 +01:00
..
meson.build Drop Xorg DDX 2024-04-12 10:40:05 +02:00
randr.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
randrstr.h render: drop obsolete macros pict_f_transform and pict_f_vector 2024-03-03 22:54:16 +00:00
randrstr_priv.h randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrcrtc.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrdispatch.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrinfo.c Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
rrlease.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrmode.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrmonitor.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rroutput.c randr: clear primary screen's primaryOutput when the output is deleted 2026-03-24 16:05:35 +01:00
rrpointer.c randr: Fix logic in RRPointerToNearestCrtc 2014-07-30 14:40:17 -07:00
rrproperty.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrprovider.c randr: drop duplicate _X_EXPORT from .c source 2024-03-03 22:34:26 +00:00
rrproviderproperty.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrscreen.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrsdispatch.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00
rrtransform.c randr: Silence -Wshift-negative-value warnings 2015-10-19 11:51:52 -04:00
rrtransform.h render: drop obsolete macros pict_f_transform and pict_f_vector 2024-03-03 22:54:16 +00:00
rrxinerama.c randr: move private definitons from randrstr.h to randrstr_priv.h 2024-02-22 23:47:49 +00:00