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

Dave Airlie airlied at gmail.com
Wed Jul 11 14:33:15 PDT 2012


On Wed, Jul 11, 2012 at 7:09 AM, Keith Packard <keithp at keithp.com> wrote:
> 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>

Okay I'll have to revisit this when I get back online,

but explanation makes sense, this was one of those changes I made
during review without doing near as much testing on my original stack.

So
Reviewed-by: Dave Airlie <airlied at redhat.com>
> ---
>  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
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list