[PATCH xserver] xfree86/common: Fix VT leave lockup #103782

Алексей Шилин rootlexx at mail.ru
Thu Nov 16 20:28:05 UTC 2017


When xf86VTSwitchAway() returns true to xf86VTLeave(), the input
mutex does not get unlocked. As the result, any other thread which
later tries to execute input_lock() freezes forever, which in turn
may lead to X server lockup.

This commit adds the missing input_unlock() call.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103782
Signed-off-by: Алексей Шилин <rootlexx at mail.ru>
---
 hw/xfree86/common/xf86Events.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
index 53ec74f26..f6e5a5342 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
@@ -452,6 +452,8 @@ xf86VTLeave(void)
 
     xf86UpdateHasVTProperty(FALSE);
 
+    input_unlock();
+
     return;
 
 switch_failed:
-- 
2.11.0



More information about the xorg-devel mailing list