39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
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 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 <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.9.3
|
|
|