summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2017-04-07 14:27:58 +0100
committerAdam Jackson <ajax@redhat.com>2017-04-07 09:57:54 -0400
commit0c8e6ed85810e96d84173a52d628863802a78d82 (patch)
treec32fe46abf70484a67b5faff8ead180f8430d0db
parente4d0757fc2620fd3182448c5e4b5a55a509594d3 (diff)
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>
-rw-r--r--hw/xfree86/drivers/modesetting/vblank.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/xfree86/drivers/modesetting/vblank.c b/hw/xfree86/drivers/modesetting/vblank.c
index 04a895269..8682f4d91 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;