summarylogtreecommitdiffstats
diff options
context:
space:
mode:
author0strodamus2017-04-10 11:06:48 -0700
committer0strodamus2017-04-10 11:06:48 -0700
commit7fbdb5df8d59eff6a95eabd5503a574079df854c (patch)
tree1819e586c56608413a9fa27ddd84175b77d4ac6d
parent6c534ec8bc0198910a716a86b0d58e77a650b564 (diff)
downloadaur-7fbdb5df8d59eff6a95eabd5503a574079df854c.tar.gz
upgpkg: xorg-server-nosystemd-1.19.3-2
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--modesetting-Set-correct-DRM-event-context-version.patch38
3 files changed, 49 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1a53cc210d0d..8bd8bb4d0ccb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Sat Mar 18 17:33:55 UTC 2017
+# Mon Apr 10 18:06:39 UTC 2017
pkgbase = xorg-server-nosystemd
pkgver = 1.19.3
- pkgrel = 1
+ pkgrel = 2
url = http://xorg.freedesktop.org
arch = i686
arch = x86_64
@@ -62,12 +62,14 @@ pkgbase = xorg-server-nosystemd
source = xvfb-run
source = xvfb-run.1
source = xserver-autobind-hotplug.patch
+ source = modesetting-Set-correct-DRM-event-context-version.patch
sha256sums = 677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98
sha256sums = SKIP
sha256sums = 914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8
sha256sums = ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9
sha256sums = 2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776
sha256sums = fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57
+ sha256sums = 831a70809e6bec766138d7a1c96643732df9a2c0c5f77ee44b47ce4be882e0af
pkgname = xorg-server-nosystemd
pkgdesc = Xorg X server
diff --git a/PKGBUILD b/PKGBUILD
index 48268e8f2291..8f32ad12c34a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=('xorg-server-nosystemd' 'xorg-server-xephyr-nosystemd' 'xorg-server-xdm
'xorg-server-xnest-nosystemd' 'xorg-server-xwayland-nosystemd' 'xorg-server-common-nosystemd' 'xorg-server-devel-nosystemd')
_pkgbase=xorg-server
pkgver=1.19.3
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
license=('custom')
groups=('xorg')
@@ -23,7 +23,8 @@ source=(https://xorg.freedesktop.org/releases/individual/xserver/${_pkgbase}-${p
nvidia-add-modulepath-support.patch
xvfb-run
xvfb-run.1
- xserver-autobind-hotplug.patch)
+ xserver-autobind-hotplug.patch
+ modesetting-Set-correct-DRM-event-context-version.patch)
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3')
@@ -32,7 +33,8 @@ sha256sums=('677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98'
'914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8'
'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
- 'fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57')
+ 'fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57'
+ '831a70809e6bec766138d7a1c96643732df9a2c0c5f77ee44b47ce4be882e0af')
prepare() {
cd "${_pkgbase}-${pkgver}"
@@ -41,6 +43,8 @@ prepare() {
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
}
diff --git a/modesetting-Set-correct-DRM-event-context-version.patch b/modesetting-Set-correct-DRM-event-context-version.patch
new file mode 100644
index 000000000000..51563fec59d7
--- /dev/null
+++ b/modesetting-Set-correct-DRM-event-context-version.patch
@@ -0,0 +1,38 @@
+From 0c8e6ed85810e96d84173a52d628863802a78d82 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniels@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@redhat.com>
+Signed-off-by: Daniel Stone <daniels@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
+