On 5/15/26 13:01, Liviu Dudau wrote:
> On Thu, May 07, 2026 at 03:44:25PM +0100, Liviu Dudau wrote:
>> Commit 18226ba52159 ("drm/syncobj: reject invalid flags in
>> drm_syncobj_find_fence") forgot to take into account the fact that
>> drm_syncobj_find() takes a reference to syncobj and returns early
>> without dropping the reference, leading to memory leaks.
>>
>> Fixes: 18226ba52159 ("drm/syncobj: reject invalid flags in 
>> drm_syncobj_find_fence")
>> Reported by: Sam Spencer <[email protected]>
>> Signed-off-by: Liviu Dudau <[email protected]>
> 
> Ping on this patch.
> 
> Erik's email address is bouncing, anyone else willing to give an ack?

Trying Erik's gmail address.


>> ---
>>  drivers/gpu/drm/drm_syncobj.c | 10 ++++++----
>>  1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
>> index 8d9fd1917c6e6..c9dbf64c0c9f2 100644
>> --- a/drivers/gpu/drm/drm_syncobj.c
>> +++ b/drivers/gpu/drm/drm_syncobj.c
>> @@ -442,13 +442,15 @@ int drm_syncobj_find_fence(struct drm_file 
>> *file_private,
>>      u64 timeout = nsecs_to_jiffies64(DRM_SYNCOBJ_WAIT_FOR_SUBMIT_TIMEOUT);
>>      int ret;
>>  
>> -    if (flags & ~DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT)
>> -            return -EINVAL;
>> -
>>      if (!syncobj)
>>              return -ENOENT;
>>  
>> -    /* Waiting for userspace with locks help is illegal cause that can
>> +    if (flags & ~DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT) {
>> +            ret = -EINVAL;
>> +            goto out;
>> +    }
>> +
>> +    /* Waiting for userspace with locks held is illegal cause that can
>>       * trivial deadlock with page faults for example. Make lockdep complain
>>       * about it early on.
>>       */
>> -- 
>> 2.54.0
>>
> 


-- 
Earthling Michel Dänzer       \        GNOME / Xwayland / Mesa developer
https://redhat.com             \               Libre software enthusiast

Reply via email to