On 14 October 2015 at 19:52, Chris Wilson chris@chris-wilson.co.uk wrote:
If we need to take the error path and drop the references to the objects and handle we created earlier, there is a possibility that we then free the object and then attempt to free any associated PRIME resources under the prime mutex. If we are holding the prime mutex when we attempt to free the handle/object, we risk a recursive deadlock.
This doesn't fix the case where drm_gem_handle_create_tail internally fails and calls drm_gem_handle_delete, which then takes the lock again.
Dave.