From 8b541d92ca918e4d17a455e4d8ca9b2db4ecd9bb Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 05 2019 19:44:16 +0000 Subject: import xorg-x11-server-1.20.3-8.el8 --- diff --git a/SOURCES/0001-linux-Fix-platform-device-PCI-detection-for-complex-.patch b/SOURCES/0001-linux-Fix-platform-device-PCI-detection-for-complex-.patch new file mode 100644 index 0000000..9c0a311 --- /dev/null +++ b/SOURCES/0001-linux-Fix-platform-device-PCI-detection-for-complex-.patch @@ -0,0 +1,45 @@ +From b6e18eb57f3dd104704d0a5ec3d2f051645b9068 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Wed, 19 Jun 2019 14:23:56 -0400 +Subject: [PATCH xserver] linux: Fix platform device PCI detection for complex + bus topologies + +Suppose you're in a Hyper-V guest and are trying to use PCI passthrough. +The ID_PATH that udev will construct for that looks something like +"acpi-VMBUS:00-pci-b8c8:00:00.0", and obviously looking for "pci-" in +the first four characters of that is going to not work. + +Instead, strstr. I suppose it's possible you could have _multiple_ PCI +buses in the path, in which case you'd want strrstr, if that were a +thing. +--- + config/udev.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/config/udev.c b/config/udev.c +index 314acba6ce..6e11aa3b88 100644 +--- a/config/udev.c ++++ b/config/udev.c +@@ -474,7 +474,7 @@ config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path + config_odev_probe_proc_ptr probe_callback) + { + struct OdevAttributes *attribs = config_odev_allocate_attributes(); +- const char *value; ++ const char *value, *str; + + attribs->path = XNFstrdup(path); + attribs->syspath = XNFstrdup(syspath); +@@ -482,8 +482,8 @@ config_udev_odev_setup_attribs(struct udev_device *udev_device, const char *path + attribs->minor = minor; + + value = udev_device_get_property_value(udev_device, "ID_PATH"); +- if (value && !strncmp(value, "pci-", 4)) { +- attribs->busid = XNFstrdup(value); ++ if (value && (str = strstr(value, "pci-"))) { ++ attribs->busid = XNFstrdup(str); + attribs->busid[3] = ':'; + } + +-- +2.21.0 + diff --git a/SPECS/xorg-x11-server.spec b/SPECS/xorg-x11-server.spec index b631644..4b4b413 100644 --- a/SPECS/xorg-x11-server.spec +++ b/SPECS/xorg-x11-server.spec @@ -46,7 +46,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.20.3 -Release: 5.2%{?gitdate:.%{gitdate}}%{?dist} +Release: 8%{?gitdate:.%{gitdate}}%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -108,6 +108,7 @@ Patch102: 0001-xfree86-ensure-the-readlink-buffer-is-null-terminate.patch # fix already upstream Patch200: 0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch +Patch201: 0001-linux-Fix-platform-device-PCI-detection-for-complex-.patch BuildRequires: systemtap-sdt-devel BuildRequires: git @@ -551,10 +552,13 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog -* Wed Apr 10 2019 Adam Jackson - 1.20.3-5.2 +* Fri Jul 12 2019 Adam Jackson - 1.20.3-8 +- Fix platform device PCI detection for complex bus topologies + +* Wed Apr 10 2019 Adam Jackson - 1.20.3-7 - Don't require fbdev on s390x, where it doesn't exist -* Wed Apr 03 2019 Adam Jackson - 1.20.3-5.1 +* Wed Apr 03 2019 Adam Jackson - 1.20.3-6 - Add Requires: fbdev (and on x86_64, vesa) to Xorg subpackage * Mon Jan 14 2019 Ben Crocker - 1.20.3-5