[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