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

Chris Wilson chris at chris-wilson.co.uk
Sun Jul 30 09:10:09 UTC 2017


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>
-Chris


More information about the dri-devel mailing list