From 63af0702ac2a3621e333dcc30b53858b71db1ce7257eb01fc484ae2fdb8fa9fc Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Thu, 12 Dec 2013 14:33:35 +0000 Subject: [PATCH 1/2] - Changed patch numbering, reordered patches to group SUSE specific and to-be-upstreamed patches. - Added descriptions to a number of patches. - Renamed some patches: * N_p_default-module-path.diff -> N_default-module-path.diff * n_xorg-x11-server-rpmmacros.patch -> N_xorg-x11-server-rpmmacros.patch OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=480 --- ...le-path.diff => N_default-module-path.diff | 5 + N_driver-autoconfig.diff | 6 ++ N_fix-dpi-values.diff | 4 + N_fix_fglrx_screendepth_issue.patch | 7 ++ N_randr_fix_abi.patch | 6 ++ ...patch => N_xorg-x11-server-rpmmacros.patch | 4 + N_zap_warning_xserver.diff | 10 ++ u_confine_to_shape.diff | 8 ++ u_fbdevhw.diff | 8 ++ u_xorg-server-xdmcp.patch | 14 +++ xorg-x11-server.changes | 13 +++ xorg-x11-server.spec | 91 ++++++++----------- 12 files changed, 125 insertions(+), 51 deletions(-) rename N_p_default-module-path.diff => N_default-module-path.diff (80%) rename n_xorg-x11-server-rpmmacros.patch => N_xorg-x11-server-rpmmacros.patch (79%) diff --git a/N_p_default-module-path.diff b/N_default-module-path.diff similarity index 80% rename from N_p_default-module-path.diff rename to N_default-module-path.diff index a8020c0..0d49b82 100644 --- a/N_p_default-module-path.diff +++ b/N_default-module-path.diff @@ -1,3 +1,8 @@ +From: Stefan Dirsch + +Add /usr/lib[64]/xorg/modules/updates to the module path. +Make sure this path is considered first. + Index: hw/xfree86/common/xf86Globals.c =================================================================== --- hw/xfree86/common/xf86Globals.c.orig diff --git a/N_driver-autoconfig.diff b/N_driver-autoconfig.diff index 03290e7..fa0e00a 100644 --- a/N_driver-autoconfig.diff +++ b/N_driver-autoconfig.diff @@ -1,3 +1,9 @@ +From: Stefan Dirsch + +Modify driver fallback list for automatic configuration +such that the proprietary ATI, NVIDIA and VIA drivers are +considered first. + Index: hw/xfree86/common/xf86pciBus.c =================================================================== --- hw/xfree86/common/xf86pciBus.c.orig diff --git a/N_fix-dpi-values.diff b/N_fix-dpi-values.diff index dc97e25..db62d75 100644 --- a/N_fix-dpi-values.diff +++ b/N_fix-dpi-values.diff @@ -1,3 +1,7 @@ +From: Egbert Eich + +Fix calculation of DPI using mode data if present. + Index: hw/xfree86/common/xf86Helper.c =================================================================== --- hw/xfree86/common/xf86Helper.c.orig diff --git a/N_fix_fglrx_screendepth_issue.patch b/N_fix_fglrx_screendepth_issue.patch index 6cf873f..e68cd8c 100644 --- a/N_fix_fglrx_screendepth_issue.patch +++ b/N_fix_fglrx_screendepth_issue.patch @@ -1,3 +1,10 @@ +From: Stefan Dirsch + +Set DefaultDepth for implicite screen section when using FGLRX driver + +The binary only AMD FGLRX driver doesn't set the default depth in the +driver. Do it for it in the server. + Index: hw/xfree86/common/xf86AutoConfig.c =================================================================== --- hw/xfree86/common/xf86AutoConfig.c.orig diff --git a/N_randr_fix_abi.patch b/N_randr_fix_abi.patch index 22b1491..3b78ae4 100644 --- a/N_randr_fix_abi.patch +++ b/N_randr_fix_abi.patch @@ -1,3 +1,9 @@ +Author: Michal Srb + +Fix compatibility with nvidia binary drivers + +(bnc#849152) + diff --git a/randr/randrstr.h b/randr/randrstr.h index 15299fd..03ed146 100644 --- a/randr/randrstr.h diff --git a/n_xorg-x11-server-rpmmacros.patch b/N_xorg-x11-server-rpmmacros.patch similarity index 79% rename from n_xorg-x11-server-rpmmacros.patch rename to N_xorg-x11-server-rpmmacros.patch index 91e7e88..76af1e6 100644 --- a/n_xorg-x11-server-rpmmacros.patch +++ b/N_xorg-x11-server-rpmmacros.patch @@ -1,3 +1,7 @@ +From: dimstar@opensuse.org + +Provide RPM macros to require correct ABI Versions. + Index: xorg-server-1.12.1/configure.ac =================================================================== --- xorg-server-1.12.1.orig/configure.ac diff --git a/N_zap_warning_xserver.diff b/N_zap_warning_xserver.diff index 7a5ace3..61656cd 100644 --- a/N_zap_warning_xserver.diff +++ b/N_zap_warning_xserver.diff @@ -1,3 +1,13 @@ +From: Luc Verhaegen + +Handle 'Zap' - Ctrl-Alt-Backspace more gracefully + +To avoid accidental zapping of the Xserver warn after +the first ctrl-alt-backspace by emitting a beep. Only +Zap the server if a second ctrl-alt-backspace is sent +within 2 seconds. +This can be enabled with a new option flag "ZapWarning" + Index: xorg-server-1.12.1/hw/xfree86/common/xf86Config.c =================================================================== --- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Config.c diff --git a/u_confine_to_shape.diff b/u_confine_to_shape.diff index a98dc1d..65cb829 100644 --- a/u_confine_to_shape.diff +++ b/u_confine_to_shape.diff @@ -1,3 +1,11 @@ +From: Egbert Eich + +DIX/ConfineTo: Improve algorithm to jump to the nearest point inside + +ConfineToShape does not work well: The cursor often times doesn't jump +to the point closest to the current cursor position outside the shape. +This patch fixes this. + --- dix/events.c.orig 2012-04-17 11:34:39.714915372 -0500 +++ dix/events.c 2012-04-17 11:26:54.735728478 -0500 @@ -671,32 +671,77 @@ diff --git a/u_fbdevhw.diff b/u_fbdevhw.diff index 6302457..78e8e37 100644 --- a/u_fbdevhw.diff +++ b/u_fbdevhw.diff @@ -1,3 +1,11 @@ +From: Egbert Eich + +Make error message about FBIOBLANK missing less prominent but more telling + +The FBIOBLANK ioctl is not present in some fbdev kernel drivers. This +however is not a huge problem. This don't mark it as error in the log +instead give more information on the possible cause. + Index: hw/xfree86/fbdevhw/fbdevhw.c =================================================================== --- hw/xfree86/fbdevhw/fbdevhw.c.orig diff --git a/u_xorg-server-xdmcp.patch b/u_xorg-server-xdmcp.patch index 1815313..1ad839f 100644 --- a/u_xorg-server-xdmcp.patch +++ b/u_xorg-server-xdmcp.patch @@ -1,3 +1,17 @@ +Author: Reinhard Max + +XDMCP: For IPv6 add IPv6 link local addresses to the end of the list + +For IPv6 add a link local addresses to the end of the list passed to +the XDMCP servers. +Reason: for link local addresses the XDMCP server would need to either +know the interface thru a scope identifier or try all available interfaces. +If they don't this address will fail in which case the XDMCP server +could still try the other addresses passed - however some only try +the first address and then give up. +Even if this seems to be the wrong place to fix this it seems to be +easier than fixing all display servers. + Index: xorg-server-1.12.1/os/access.c =================================================================== --- xorg-server-1.12.1.orig/os/access.c diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index dc4e53d..c9b56d1 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Dec 12 14:27:20 UTC 2013 - eich@suse.com + +- Changed patch numbering, reordered patches to group + SUSE specific and to-be-upstreamed patches. +- Added descriptions to a number of patches. +- Renamed some patches: + * N_p_default-module-path.diff -> + N_default-module-path.diff + * n_xorg-x11-server-rpmmacros.patch -> + N_xorg-x11-server-rpmmacros.patch + + ------------------------------------------------------------------- Wed Dec 11 15:26:59 UTC 2013 - eich@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 71378f1..da1b6be 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -25,18 +25,14 @@ License: GPL-2.0+ and MIT Group: System/X11/Servers/XF86_4 Source0: xorg-server-%{dirsuffix}.tar.bz2 Source1: sysconfig.displaymanager.template -Source3: README.updates -Source4: xorgcfg.tar.bz2 -Source8: xorg-backtrace +Source2: README.updates +Source3: xorgcfg.tar.bz2 +Source4: xorg-backtrace # RPM Macros to be installed. The ABI Versions will be injected by configure. -Source96: xorg-x11-server.macros.in -# Source98 and Source99 are used to ensure proper ABI provides. -Source98: xorg-server-provides -Source99: pre_checkin.sh -# PATCH-FEATURE-OPENSUSE n_xorg-x11-server-rpmmacros.patch dimstar@opensuse.org -- Provide RPM macros to require correct ABI Versions. -Patch0: n_xorg-x11-server-rpmmacros.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch2: N_p_default-module-path.diff +Source90: xorg-x11-server.macros.in +# Source91 and Source99 are used to ensure proper ABI provides. +Source91: xorg-server-provides +Source92: pre_checkin.sh BuildRequires: Mesa-devel BuildRequires: bison @@ -106,7 +102,7 @@ Requires: xkbcomp Requires: xorg-x11-fonts-core %ifnarch s390 s390x Requires: libpixman-1-0 >= 0.24 -%(cat %{SOURCE98}) +%(cat %{SOURCE91}) %endif Requires: Mesa Provides: xorg-x11-Xvfb @@ -116,33 +112,26 @@ Obsoletes: xorg-x11-server-glx # Xvfb requires keyboard files as well (bnc#797124) Requires: xkeyboard-config -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch77: u_fbdevhw.diff -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch101: N_zap_warning_xserver.diff -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch103: u_confine_to_shape.diff -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch112: N_fix-dpi-values.diff -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch145: N_driver-autoconfig.diff -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FEATURE-OPENSUSE n_xorg-x11-server-rpmmacros.patch dimstar@opensuse.org -- Provide RPM macros to require correct ABI Versions. +Patch0: N_xorg-x11-server-rpmmacros.patch +Patch1: N_default-module-path.diff +Patch2: N_zap_warning_xserver.diff +Patch3: N_driver-autoconfig.diff +Patch4: N_fix_fglrx_screendepth_issue.patch +Patch5: N_randr_fix_abi.patch +Patch6: N_fix-dpi-values.diff + +Patch100: u_fbdevhw.diff +Patch101: u_confine_to_shape.diff +# PATCH-FIX-UPSTREAM u_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions +Patch102: u_x86emu-include-order.patch +Patch103: u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch +Patch104: u_xorg-server-xdmcp.patch +Patch105: ux_xserver_xvfb-randr.patch + Patch162: b_cache-xkbcomp-output-for-fast-start-up.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch206: N_fix_fglrx_screendepth_issue.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch213: u_xorg-server-xdmcp.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch222: b_sync-fix.patch -# PATCH-FIX-UPSTREAM N_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions -Patch223: u_x86emu-include-order.patch - -Patch230: ux_xserver_xvfb-randr.patch - -Patch247: u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch -Patch248: N_randr_fix_abi.patch %description This package contains the X.Org Server. @@ -192,31 +181,31 @@ Obsoletes: xorg-x11-sdk This package contains the X.Org Server SDK. %prep -%setup -q -n xorg-server-%{dirsuffix} -a4 +%setup -q -n xorg-server-%{dirsuffix} -a3 # Early verification if the ABI Defines are correct. Let's not waste build cycles if the Provides are wrong at the end. -sh %{SOURCE99} --verify . %{SOURCE98} -cp %{SOURCE96} . +sh %{SOURCE92} --verify . %{SOURCE91} +cp %{SOURCE90} . %patch0 -p1 -%patch2 +%patch1 +%patch2 -p1 +%patch3 -p0 +%patch4 -p0 +%patch5 -p1 +%patch6 -p0 -%patch77 -%patch101 -p1 -%patch103 -%patch112 -p0 +%patch100 +%patch101 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 +%patch105 -p1 -%patch145 -p0 ### disabled for now #%patch162 -p1 -%patch206 -p0 ### disabled for now #%patch211 -p1 -%patch213 -p1 ### patch222 might not be applicable anymore #%patch222 -p1 -%patch223 -p1 -%patch230 -p1 -%patch247 -p1 -%patch248 -p1 %build autoreconf -fi From 3918e2962c85465251b4c2ec68d88295cabdd9d468a2173413fa73696d2e4ecc Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Fri, 13 Dec 2013 16:25:15 +0000 Subject: [PATCH 2/2] Accepting request 210810 from home:michalsrb:branches:X11:XOrg - u_exa-only-draw-valid-trapezoids.patch * Fix possible x server crash using invalid trapezoids. (bnc#853846 CVE-2013-6424) OBS-URL: https://build.opensuse.org/request/show/210810 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=482 --- u_exa-only-draw-valid-trapezoids.patch | 33 ++++++++++++++++++++++++++ xorg-x11-server.changes | 7 ++++++ xorg-x11-server.spec | 3 +++ 3 files changed, 43 insertions(+) create mode 100644 u_exa-only-draw-valid-trapezoids.patch diff --git a/u_exa-only-draw-valid-trapezoids.patch b/u_exa-only-draw-valid-trapezoids.patch new file mode 100644 index 0000000..e0b3168 --- /dev/null +++ b/u_exa-only-draw-valid-trapezoids.patch @@ -0,0 +1,33 @@ +Author: Maarten Lankhorst +Subject: exa: only draw valid trapezoids +Patch-Mainline: To be upstreamed +References: bnc#853846 CVE-2013-6424 +Signed-off-by: Michal Srb + +diff --git a/exa/exa_render.c b/exa/exa_render.c +index 172e2b5..807eeba 100644 +--- a/exa/exa_render.c ++++ b/exa/exa_render.c +@@ -1141,7 +1141,8 @@ exaTrapezoids(CARD8 op, PicturePtr pSrc, PicturePtr pDst, + + exaPrepareAccess(pPicture->pDrawable, EXA_PREPARE_DEST); + for (; ntrap; ntrap--, traps++) +- (*ps->RasterizeTrapezoid) (pPicture, traps, -bounds.x1, -bounds.y1); ++ if (xTrapezoidValid(traps)) ++ (*ps->RasterizeTrapezoid) (pPicture, traps, -bounds.x1, -bounds.y1); + exaFinishAccess(pPicture->pDrawable, EXA_PREPARE_DEST); + + xRel = bounds.x1 + xSrc - xDst; +diff --git a/render/picture.h b/render/picture.h +index c85353a..fcd6401 100644 +--- a/render/picture.h ++++ b/render/picture.h +@@ -211,7 +211,7 @@ typedef pixman_fixed_t xFixed; + /* whether 't' is a well defined not obviously empty trapezoid */ + #define xTrapezoidValid(t) ((t)->left.p1.y != (t)->left.p2.y && \ + (t)->right.p1.y != (t)->right.p2.y && \ +- (int) ((t)->bottom - (t)->top) > 0) ++ ((t)->bottom > (t)->top)) + + /* + * Standard NTSC luminance conversions: diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index c9b56d1..5ed7365 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Dec 12 14:57:15 UTC 2013 - msrb@suse.com + +- u_exa-only-draw-valid-trapezoids.patch + * Fix possible x server crash using invalid trapezoids. + (bnc#853846 CVE-2013-6424) + ------------------------------------------------------------------- Thu Dec 12 14:27:20 UTC 2013 - eich@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index da1b6be..dbd4e49 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -128,6 +128,8 @@ Patch102: u_x86emu-include-order.patch Patch103: u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch Patch104: u_xorg-server-xdmcp.patch Patch105: ux_xserver_xvfb-randr.patch +# PATCH-FIX-UPSTREAM u_exa-only-draw-valid-trapezoids.patch bnc#853846 msrb@suse.com -- Fixes possible crash of server using invalid trapezoids. 2013-12-12 patch is waiting in mailing list to be upstreamed. +Patch106: u_exa-only-draw-valid-trapezoids.patch Patch162: b_cache-xkbcomp-output-for-fast-start-up.patch Patch211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch @@ -199,6 +201,7 @@ cp %{SOURCE90} . %patch103 -p1 %patch104 -p1 %patch105 -p1 +%patch106 -p1 ### disabled for now #%patch162 -p1