[arch-commits] Commit in xorg-server/trunk (2 files)

Laurent Carlier lcarlier at archlinux.org
Fri Apr 7 18:34:34 UTC 2017


    Date: Friday, April 7, 2017 @ 18:34:33
  Author: lcarlier
Revision: 292269

upgpkg: xorg-server 1.19.3-2

add a fix xorg with libdrm 2.4.78

Added:
  xorg-server/trunk/modesetting-Set-correct-DRM-event-context-version.patch
Modified:
  xorg-server/trunk/PKGBUILD

---------------------------------------------------------+
 PKGBUILD                                                |    6 +-
 modesetting-Set-correct-DRM-event-context-version.patch |   38 ++++++++++++++
 2 files changed, 43 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-04-07 15:39:21 UTC (rev 292268)
+++ PKGBUILD	2017-04-07 18:34:33 UTC (rev 292269)
@@ -5,7 +5,7 @@
 pkgbase=xorg-server
 pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
 pkgver=1.19.3
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 license=('custom')
 groups=('xorg')
@@ -20,6 +20,7 @@
 source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
         nvidia-add-modulepath-support.patch
         xserver-autobind-hotplug.patch
+        modesetting-Set-correct-DRM-event-context-version.patch
         xvfb-run
         xvfb-run.1)
 validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
@@ -29,6 +30,7 @@
             'SKIP'
             '914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8'
             'fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57'
+            '831a70809e6bec766138d7a1c96643732df9a2c0c5f77ee44b47ce4be882e0af'
             'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
             '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776')
 
@@ -39,6 +41,8 @@
   patch -Np1 -i ../nvidia-add-modulepath-support.patch
   # patch from Fedora, not yet merged
   patch -Np1 -i ../xserver-autobind-hotplug.patch
+  # merged in trunk
+  patch -Np1 -i ../modesetting-Set-correct-DRM-event-context-version.patch
 
   autoreconf -vfi
 }

Added: modesetting-Set-correct-DRM-event-context-version.patch
===================================================================
--- modesetting-Set-correct-DRM-event-context-version.patch	                        (rev 0)
+++ modesetting-Set-correct-DRM-event-context-version.patch	2017-04-07 18:34:33 UTC (rev 292269)
@@ -0,0 +1,38 @@
+From 0c8e6ed85810e96d84173a52d628863802a78d82 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniels at collabora.com>
+Date: Fri, 7 Apr 2017 14:27:58 +0100
+Subject: [PATCH] modesetting: Set correct DRM event context version
+
+DRM_EVENT_CONTEXT_VERSION is the latest context version supported by
+whatever version of libdrm is present. modesetting was blindly asserting
+it supported whatever version that may be, even if it actually didn't.
+
+With libdrm 2.4.78, setting a higher context version than 2 will attempt
+to call the page_flip_handler2 vfunc if it was non-NULL, which being a
+random chunk of stack memory, it might well have been.
+
+Set the version as 2, which should be bumped only with the appropriate
+version checks.
+
+Reviewed-by: Adam Jackson <ajax at redhat.com>
+Signed-off-by: Daniel Stone <daniels at collabora.com>
+---
+ hw/xfree86/drivers/modesetting/vblank.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/xfree86/drivers/modesetting/vblank.c b/hw/xfree86/drivers/modesetting/vblank.c
+index 04a8952..8682f4d 100644
+--- a/hw/xfree86/drivers/modesetting/vblank.c
++++ b/hw/xfree86/drivers/modesetting/vblank.c
+@@ -402,7 +402,7 @@ ms_vblank_screen_init(ScreenPtr screen)
+     modesettingEntPtr ms_ent = ms_ent_priv(scrn);
+     xorg_list_init(&ms_drm_queue);
+ 
+-    ms->event_context.version = DRM_EVENT_CONTEXT_VERSION;
++    ms->event_context.version = 2;
+     ms->event_context.vblank_handler = ms_drm_handler;
+     ms->event_context.page_flip_handler = ms_drm_handler;
+ 
+-- 
+2.12.2
+



More information about the arch-commits mailing list