diff --git a/0001-modesetting-Set-correct-DRM-event-context-version.patch b/0001-modesetting-Set-correct-DRM-event-context-version.patch new file mode 100644 index 0000000..84dd434 --- /dev/null +++ b/0001-modesetting-Set-correct-DRM-event-context-version.patch @@ -0,0 +1,38 @@ +From 0c8e6ed85810e96d84173a52d628863802a78d82 Mon Sep 17 00:00:00 2001 +From: Daniel Stone +Date: Fri, 7 Apr 2017 14:27:58 +0100 +Subject: [PATCH xserver] 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 +Signed-off-by: Daniel Stone +--- + 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.9.3 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 86c70ef..4e7deb1 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -45,7 +45,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.19.3 -Release: 2%{?gitdate:.%{gitdate}}%{dist} +Release: 3%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -98,6 +98,8 @@ Patch20: 06_use-intel-only-on-pre-gen4.diff # Submitted upstream Patch21: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch +Patch22: 0001-modesetting-Set-correct-DRM-event-context-version.patch + #Patch6044: xserver-1.6.99-hush-prerelease-warning.patch Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch @@ -600,6 +602,9 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog +* Fri Apr 07 2017 Adam Jackson - 1.19.3-3 +- Inoculate against a versioning bug with libdrm 2.4.78 + * Thu Mar 23 2017 Hans de Goede - 1.19.3-2 - Use va_gl as vdpau driver on i965 GPUs (rhbz#1413733)