forked from pool/xorg-x11-server
Accepting request 1188381 from X11:XOrg
- u_fbdevhw_kernel6.9_break_fbdev_open.patch * Linux kernel v6.9 has changed the symlink to point to the parent device. This breaks fbdev_open() detection logic. Change it to use the subsystem symlink instead which will remain stable (gitlab xserver issue#1714) OBS-URL: https://build.opensuse.org/request/show/1188381 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=432
This commit is contained in:
commit
5e96e458ad
45
u_fbdevhw_kernel6.9_break_fbdev_open.patch
Normal file
45
u_fbdevhw_kernel6.9_break_fbdev_open.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
Linux kernel v6.9 has changed the symlink to point to the parent device.
|
||||||
|
This breaks fbdev_open() detection logic. Change it to use the subsystem
|
||||||
|
symlink instead which will remain stable.
|
||||||
|
|
||||||
|
Kernel v6.8:
|
||||||
|
|
||||||
|
[ 14.067] (II) fbdev_open() sysfs_path=/sys/class/graphics/fb0
|
||||||
|
[ 14.067] (II) fbdev_open() buf=../../devices/platform/vesa-framebuffer.0/graphics/fb0
|
||||||
|
|
||||||
|
Kernel v6.9:
|
||||||
|
|
||||||
|
[ 15.609] (II) fbdev_open() sysfs_path=/sys/class/graphics/fb0
|
||||||
|
[ 15.609] (II) fbdev_open() buf=../../devices/pci0000:00/0000:00:01.0/vesa-framebuffer.0/graphics/fb0
|
||||||
|
|
||||||
|
Originally found in automated Debian ISO QA testing [0] and confirmed in Linux [1].
|
||||||
|
|
||||||
|
Tested on kernels v6.9.7 and v6.8.12
|
||||||
|
|
||||||
|
[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D1075713
|
||||||
|
[1] https://lore.kernel.org/lkml/lLyvPFC_APGHNfyGNHRpQy5izBikkaTPOpHooZIT3f=
|
||||||
|
FAoJPquSI31ZMueA99XTdr8ysir3X7O7IMdc6za-0m79vr_claeparHhoRouVgHOI=3D@proton=
|
||||||
|
.me/
|
||||||
|
|
||||||
|
Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1714
|
||||||
|
Signed-off-by: Tj <tj.iam.tj@proton.me>
|
||||||
|
---
|
||||||
|
hw/xfree86/fbdevhw/fbdevhw.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: xorg-server-21.1.12/hw/xfree86/fbdevhw/fbdevhw.c
|
||||||
|
===================================================================
|
||||||
|
--- xorg-server-21.1.12.orig/hw/xfree86/fbdevhw/fbdevhw.c
|
||||||
|
+++ xorg-server-21.1.12/hw/xfree86/fbdevhw/fbdevhw.c
|
||||||
|
@@ -335,9 +335,9 @@ fbdev_open(int scrnIndex, const char *de
|
||||||
|
char *sysfs_path = NULL;
|
||||||
|
char *node = strrchr(dev, '/') + 1;
|
||||||
|
|
||||||
|
- if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
|
||||||
|
+ if (asprintf(&sysfs_path, "/sys/class/graphics/%s/device/subsystem", node) < 0 ||
|
||||||
|
readlink(sysfs_path, buf, sizeof(buf) - 1) < 0 ||
|
||||||
|
- strstr(buf, "devices/pci")) {
|
||||||
|
+ strstr(buf, "bus/pci")) {
|
||||||
|
free(sysfs_path);
|
||||||
|
close(fd);
|
||||||
|
return -1;
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 18 10:44:59 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
- u_fbdevhw_kernel6.9_break_fbdev_open.patch
|
||||||
|
* Linux kernel v6.9 has changed the symlink to point to the
|
||||||
|
parent device. This breaks fbdev_open() detection logic.
|
||||||
|
Change it to use the subsystem symlink instead which will
|
||||||
|
remain stable (gitlab xserver issue#1714)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jun 12 09:08:15 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
Wed Jun 12 09:08:15 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ Requires: libpixman-1-0 >= 0.24
|
|||||||
Requires: Mesa
|
Requires: Mesa
|
||||||
%if 0%{?suse_version} >= 1315
|
%if 0%{?suse_version} >= 1315
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(postun): update-alternatives
|
Requires(postun):update-alternatives
|
||||||
%endif
|
%endif
|
||||||
Provides: xorg-x11-server-glx
|
Provides: xorg-x11-server-glx
|
||||||
Obsoletes: xorg-x11-server-glx
|
Obsoletes: xorg-x11-server-glx
|
||||||
@ -240,6 +240,8 @@ Patch1930: u_xfree86-activate-GPU-screens-on-autobind.patch
|
|||||||
|
|
||||||
Patch1960: u_sync-pci-ids-with-Mesa.patch
|
Patch1960: u_sync-pci-ids-with-Mesa.patch
|
||||||
|
|
||||||
|
Patch2000: u_fbdevhw_kernel6.9_break_fbdev_open.patch
|
||||||
|
|
||||||
Patch1218176: u_miCloseScreen_check_for_null_pScreen_dev_private.patch
|
Patch1218176: u_miCloseScreen_check_for_null_pScreen_dev_private.patch
|
||||||
Patch1222442: U_render-Avoid-possible-double-free-in-ProcRenderAddGl.patch
|
Patch1222442: U_render-Avoid-possible-double-free-in-ProcRenderAddGl.patch
|
||||||
|
|
||||||
@ -397,6 +399,7 @@ sh %{SOURCE92} --verify . %{SOURCE91}
|
|||||||
%patch -P 1921 -p1
|
%patch -P 1921 -p1
|
||||||
%patch -P 1930 -p1
|
%patch -P 1930 -p1
|
||||||
%patch -P 1960 -p1
|
%patch -P 1960 -p1
|
||||||
|
%patch -P 2000 -p1
|
||||||
|
|
||||||
%patch -P 1218176 -p1
|
%patch -P 1218176 -p1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user