[Intel-gfx] [PATCH] Add NULL checking for drawable in sna_dri2_flip_event

Lim, Siew Hoon siew.hoon.lim at intel.com
Sun Jan 10 14:41:30 PST 2016


Hi,

CC-ing Chris Wilson to help do code review DDX driver side and possible others corner case that we didn't spotted.
This is corner case that happen hitting assert checking until SNA DDX driver exit.

I'm trying to cc-ing Chirs Wilson in "chris at chris-wilson.co.uk" email address.
But received delivery failed from this email address. I don't know why.


Thanks.
...siewhoon

> -----Original Message-----
> From: Intel-gfx [mailto:intel-gfx-bounces at lists.freedesktop.org] On Behalf Of
> Lim Siew Hoon
> Sent: Saturday, January 09, 2016 10:47 AM
> To: intel-gfx at lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH] Add NULL checking for drawable in
> sna_dri2_flip_event
> 
> The last flip complete signal may happen after the
> sna_dri2_destroy_window function has been called. This leads to calling
> frame_swap_complete with a null flip drawable. So check for that and
> handle accordingly.
> 
> Signed-off-by: Lim Siew Hoon <siew.hoon.lim at intel.com>
> Reviewed-by: Bob Paauwe <bob.j.paauwe at intel.com>
> ---
>  src/sna/sna_dri2.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c index 05a4f1c..6f59f05
> 100644
> --- a/src/sna/sna_dri2.c
> +++ b/src/sna/sna_dri2.c
> @@ -2874,6 +2874,10 @@ static void sna_dri2_flip_event(struct
> sna_dri2_event *flip)
>  	case FLIP_THROTTLE:
>  		if (flip->signal) {
>  			DBG(("%s: triple buffer swap complete, unblocking
> client\n", __FUNCTION__));
> +			if(flip->draw == NULL) {
> +				sna_dri2_event_free(flip);
> +				break;
> +			}
>  			frame_swap_complete(flip, DRI2_FLIP_COMPLETE);
>  		}
>  	case FLIP_COMPLETE:
> --
> 2.1.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list