xserver/dix
Peter Hutterer 34bb83b9df dix: block signals when closing all devices
When closing down all devices, we manually unset master for all attached
devices, but the device's sprite info still points to the master's sprite
info. This leaves us a window where the master is freed already but the
device isn't yet. A signal during that window causes dereference of the
already freed spriteInfo in mieqEnqueue's EnqueueScreen macro.

Simply block signals when removing all devices. It's not like we're really
worrying about high-responsive input at this stage.

https://bugzilla.redhat.com/show_bug.cgi?id=737031

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit d7c44a7c97)
2011-11-07 18:00:33 -08:00
..
.gitignore Don't use empty source files 2011-06-23 05:28:31 -07:00
atom.c Misc coding style cleanup 2010-05-13 06:16:48 +07:00
buildatoms XFree86 4.3.0.1 2003-11-14 16:49:22 +00:00
BuiltInAtoms R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
colormap.c dix: fix memory leak in AllocShared 2011-04-04 15:41:47 +03:00
cursor.c dix: don't free stranger pointers inside AllocARGBCursor 2011-04-07 19:57:57 +03:00
devices.c dix: block signals when closing all devices 2011-11-07 18:00:33 -08:00
dispatch.c Fix pixmap double-frees on error paths. 2011-10-04 19:59:27 -07:00
dispatch.h xserver: delete pervasively use of DISPATCH_PROC 2010-09-28 16:45:05 +03:00
dixfonts.c dixfonts: Don't overwrite local c variable until new_closure is safely initialized. 2011-10-09 01:35:37 -07:00
dixutils.c dix: avoid calling deleted block and wakeup handlers 2011-06-30 16:38:29 +10:00
enterleave.c Use GetCurrentRootWindow or equivalent instead of spriteTrace[0]. 2010-10-13 15:58:12 +10:00
enterleave.h dix: call SetFocusOut and LeaveWindow when disabling a device. 2009-08-03 10:11:48 +10:00
eventconvert.c dix: replace unneded goto with break. 2011-05-11 14:27:36 +10:00
events.c Revert "dix: don't XWarpPointer through the last slave anymore (#38313)" 2011-11-03 15:01:35 -07:00
extension.c dix: fix memory leak in ProcListExtensions 2011-04-04 15:47:58 +03:00
ffs.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
gc.c Un-export CreateScratchGC now that nothing external uses it. 2010-09-13 15:58:08 -07:00
getevents.c Input: Reset SD remainder when copying co-ords from MD 2011-07-01 08:46:28 +10:00
globals.c dix: delete logo hack screen saver 2010-11-11 23:20:35 +02:00
glyphcurs.c Replace dixChangeGC with calls directly to the right variant. 2010-05-13 17:14:07 -07:00
grabs.c dix: ignore devices when adding passive core grabs to list (#39545) 2011-10-14 15:35:06 +10:00
initatoms.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
inpututils.c input: Fix format string for verify_internal_event 2011-05-24 14:08:13 +10:00
main.c Terminate the log with one last message. 2011-07-27 09:31:02 +10:00
Makefile.am Don't use empty source files 2011-06-23 05:28:31 -07:00
pixmap.c Change the devPrivates API to require dixRegisterPrivateKey 2010-06-05 19:23:03 -07:00
privates.c Add fence sync driver interface 2010-12-06 19:15:26 -08:00
property.c DIX: Reset window properties when freeing them 2010-12-31 12:52:50 +00:00
protocol.txt Add DRI2 requests to protocol.txt 2009-08-28 23:29:05 -04:00
ptrveloc.c dix: improve control flow in QueryTrackers 2011-04-21 16:05:16 +10:00
region.c Delete RegionClipSpans() 2011-03-01 07:58:06 -05:00
registry.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
resource.c dix: silence compiler warning 2011-04-21 13:43:46 +10:00
selection.c Fix property and selection devPrivate allocation. 2010-09-10 11:44:12 -07:00
swaprep.c Replace X-allocation functions with their C89 counterparts 2010-05-13 00:22:37 +07:00
swapreq.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
tables.c dix: remove proc tables initialization 2010-09-28 16:46:46 +03:00
window.c Fix non-Composite builds in PrintWindowTree 2011-07-15 15:44:06 +10:00
Xserver-dtrace.h.in Sun's copyrights now belong to Oracle 2010-12-07 11:10:35 -08:00
Xserver.d Sun's copyrights now belong to Oracle 2010-12-07 11:10:35 -08:00