diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2017-05-23 17:43:36 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-05-23 17:43:36 +0200 |
commit | 7a101754756b138e6f670e7b116d517efca4eff0 (patch) | |
tree | 2308a22c17e9dd37677298413849291c608c2006 /main/xorg-server/modesetting-Set-correct-DRM-event-context-version.patch | |
parent | f8b617ef1b077d41b1f60d52d1eae2a4ad024df8 (diff) |
main/xorg-server: add patch for modesetting
Diffstat (limited to 'main/xorg-server/modesetting-Set-correct-DRM-event-context-version.patch')
-rw-r--r-- | main/xorg-server/modesetting-Set-correct-DRM-event-context-version.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/main/xorg-server/modesetting-Set-correct-DRM-event-context-version.patch b/main/xorg-server/modesetting-Set-correct-DRM-event-context-version.patch new file mode 100644 index 00000000000..51563fec59d --- /dev/null +++ b/main/xorg-server/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 + |