summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDet2017-04-12 15:05:31 +0300
committerDet2017-04-12 15:05:31 +0300
commit2a5ff139a4d59d6246f2912240613539a6c24240 (patch)
treeed536eff324ef7f7c3d5902b43b52dfafdf91048
parent820f87ead8f622757eb71132e6a50aacb6a9e406 (diff)
downloadaur-2a5ff139a4d59d6246f2912240613539a6c24240.tar.gz
Sync with [extra]
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD7
-rw-r--r--modesetting-Set-correct-DRM-event-context-version.patch38
3 files changed, 48 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d6bdd9e63b1b..9f8a9c16b442 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = xorg-server-dev
pkgver = 1.19.3
- pkgrel = 1
+ pkgrel = 2
url = https://xorg.freedesktop.org
arch = i686
arch = x86_64
@@ -59,12 +59,14 @@ pkgbase = xorg-server-dev
source = https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.19.3.tar.bz2.sig
source = nvidia-add-modulepath-support.patch
source = xserver-autobind-hotplug.patch
+ source = modesetting-Set-correct-DRM-event-context-version.patch
source = xvfb-run
source = xvfb-run.1
sha256sums = 677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98
sha256sums = SKIP
sha256sums = 914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8
sha256sums = fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57
+ sha256sums = 831a70809e6bec766138d7a1c96643732df9a2c0c5f77ee44b47ce4be882e0af
sha256sums = ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9
sha256sums = 2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776
@@ -164,7 +166,7 @@ pkgname = xorg-server-common-dev
depends = xorg-xkbcomp
depends = xorg-setxkbmap
depends = xorg-fonts-misc
- provides = xorg-server-common=1.19.3-1
+ provides = xorg-server-common=1.19.3-2
conflicts = xorg-server-common
pkgname = xorg-server-devel-dev
diff --git a/PKGBUILD b/PKGBUILD
index 22780e44b651..e89504a3babf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
_pkgbase=xorg-server
pkgname=('xorg-server-dev' 'xorg-server-xephyr-dev' 'xorg-server-xdmx-dev' 'xorg-server-xvfb-dev' 'xorg-server-xnest-dev' 'xorg-server-xwayland-dev' 'xorg-server-common-dev' 'xorg-server-devel-dev')
pkgver=1.19.3 # https://lists.x.org/archives/xorg/2017-March/058662.html
-pkgrel=1 # https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/xorg-server&id=8a67e151837c8ef7d6e1419828410e1b8944d169
+pkgrel=2 # https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/xorg-server&id=013fa1ab41b5a4f8ba9bd1072810daacc17644a4
arch=('i686' 'x86_64')
license=('custom')
groups=('xorg')
@@ -19,6 +19,7 @@ makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtra
source=(${url}/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'
@@ -28,6 +29,7 @@ sha256sums=('677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98'
'SKIP'
'914a8d775b708f836ae3f0eeca553da3872727a2e4262190f4d5c01241cb14e8'
'fcaf536e4fc307958923b58f2baf3d3102ad694efc28506f6f95a9e64483fa57'
+ '831a70809e6bec766138d7a1c96643732df9a2c0c5f77ee44b47ce4be882e0af'
'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776')
@@ -40,6 +42,9 @@ prepare() {
msg2 "patch from Fedora, not yet merged"
patch -Np1 -i ../xserver-autobind-hotplug.patch
+ msg2 "merged in trunk"
+ patch -Np1 -i ../modesetting-Set-correct-DRM-event-context-version.patch
+
msg2 "Starting autoreconf..."
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
+