[Intel-gfx] [PATCH] Fix NULL pointer found by static analysis

Jani Nikula jani.nikula at linux.intel.com
Wed Sep 23 09:04:58 UTC 2020


On Wed, 23 Sep 2020, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> Quoting Steve Hampson (2020-09-23 05:40:54)
>> A static analysis tool has reveiled a NULL pointer error in
>> __i915_gem_object_lock.  This appears to be correct as many calls
>> pass a NULL into the ww parameter.
>> 
>> Signed-off-by: Steve Hampson <steven.t.hampson at intel.com>
>> ---
>>  drivers/gpu/drm/i915/gem/i915_gem_object.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
>> index d46db8d8f38e..9b18ead42991 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
>> @@ -126,7 +126,7 @@ static inline int __i915_gem_object_lock(struct drm_i915_gem_object *obj,
>>         if (ret == -EALREADY)
>>                 ret = 0;
>>  
>> -       if (ret == -EDEADLK)
>> +       if (ret == -EDEADLK && ww)
>
> EDEADLK is predicated by ww already.

The hard part is that neither the analyzer nor a human who doesn't know
how dma_resv_lock* work can easily deduce that. :(

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list