[PATCH 2/3] dma-buf/sw_sync: clean up list before signaling the fence

Gustavo Padovan gustavo at padovan.org
Mon Jul 31 19:32:55 UTC 2017


2017-07-30 Chris Wilson <chris at chris-wilson.co.uk>:

> Quoting Gustavo Padovan (2017-07-29 16:22:16)
> > From: Gustavo Padovan <gustavo.padovan at collabora.com>
> > 
> > If userspace already dropped its own reference by closing the sw_sync
> > fence fd we might end up in a deadlock where
> > dma_fence_is_signaled_locked() will trigger the release of the fence and
> > thus try to hold the lock to remove the fence from the list.
> > 
> > dma_fence_is_signaled_locked() tries to release/free the fence and hold
> > the lock in the process.
> > 
> > We fix that by changing the order operation and clean up the list and
> > rb-tree first.
> > 
> > v2: Drop the fence get/put dance and manipulate the list first (Chris Wilson)
> > 
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.com>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

Thanks for reviewing. Pushed to drm-misc-next.

	Gustavo


More information about the dri-devel mailing list