[PATCH] xfree86: When xf86CrtcCloseScreen is called, the randr CRTCs are gone

Keith Packard keithp at keithp.com
Tue Jul 10 23:09:47 PDT 2012


The RandR CRTC structures are freed when their resource IDs are
destroyed during server shut down, which is before the screen is
closed. Calling back into RandR with stale pointers just segfaults the
server.

Signed-off-by: Keith Packard <keithp at keithp.com>
Cc: Daniel Stone <daniel at fooishbar.org>
---
 hw/xfree86/modes/xf86Crtc.c |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index d20152c..9b73805 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -734,9 +734,6 @@ xf86CrtcCloseScreen(ScreenPtr screen)
     for (c = 0; c < config->num_crtc; c++) {
         xf86CrtcPtr crtc = config->crtc[c];
 
-        if (crtc->randr_crtc->scanout_pixmap)
-            RRCrtcDetachScanoutPixmap(crtc->randr_crtc);
-
         crtc->randr_crtc = NULL;
     }
     /* detach any providers */
-- 
1.7.10.4



More information about the xorg-devel mailing list