[PATCH] drm/prime: fix error path deadlock fail

Alex Deucher alexdeucher at gmail.com
Mon Jun 13 15:54:58 UTC 2016


On Mon, Jun 13, 2016 at 11:33 AM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Mon, Jun 13, 2016 at 11:19:20AM -0400, Alex Deucher wrote:
>> On Thu, Jun 9, 2016 at 3:29 PM, Rob Clark <robdclark at gmail.com> wrote:
>> > There were a couple messed up things about this fail path.
>> > (1) it would drop object_name_lock twice
>> > (2) drm_gem_handle_delete() (in drm_gem_remove_prime_handles())
>> >     needs to grab prime_lock
>> >
>> > Reported-by: Alex Deucher <alexdeucher at gmail.com>
>> > Signed-off-by: Rob Clark <robdclark at gmail.com>
>> > ---
>> > Untested, but I think this should fix the potential deadlock that Alex
>> > reported.  Would be nice if someone with setup to reproduce could test
>> > this.
>>
>> Sorry for the confusion.  There were actually two deadlocks.  The
>> first one (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1579610
>> fixed by https://github.com/torvalds/linux/commit/6984128d01cf935820a0563f3a00c6623ba58109)
>> was that one we hit in testing.  This one was just one that Qiang
>> noticed by inspection while debugging the first.  That said, the error
>> path is obviously wrong and the patch looks correct to me.
>>
>> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> Ok, I didn't add the bugzilla to this one. Applied to drm-misc, thanks.

There actually is a bugzilla for the potential deadlock fixed by this patch:
https://bugzilla.kernel.org/show_bug.cgi?id=117861

Alex


More information about the dri-devel mailing list