[PATCH] drm/i915: Fix potential spectre vulnerability

Kunwu Chan chentao at kylinos.cn
Fri Nov 3 02:31:49 UTC 2023


Hi Tvrtko,
Thank you very much for your kind suggestion, I have modified it in 
accordance with your suggestion.

On 2023/11/2 19:32, Tvrtko Ursulin wrote:
> 
> On 02/11/2023 10:16, chentao wrote:
>> Fix smatch warning:
>> drivers/gpu/drm/i915/gem/i915_gem_context.c:847 set_proto_ctx_sseu()
>> warn: potential spectre issue 'pc->user_engines' [r] (local cap)
>>
>> Signed-off-by: chentao <chentao at kylinos.cn>
> 
> I don't know if this is actually exploitable given the time deltas 
> between the index is read from userspace and acted upon here, which is 
> at least two ioctls apart. But I suppose no harm in fixing and for 
> safety so we need to add:
> 
> Fixes: d4433c7600f7 ("drm/i915/gem: Use the proto-context to handle 
> create parameters (v5)")
> Cc: <stable at vger.kernel.org> # v5.15+
> 
>> ---
>>   drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c 
>> b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> index 9a9ff84c90d7..b2fdfc7ca4de 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> @@ -843,7 +843,7 @@ static int set_proto_ctx_sseu(struct 
>> drm_i915_file_private *fpriv,
>>           if (idx >= pc->num_user_engines)
>>               return -EINVAL;
>> -
> 
> Just please refrain from random whitespace modifications like this blank 
> line removal. If you resend without that you can add my r-b.
> 
> Regards,
> 
> Tvrtko
> 
>> +        idx = array_index_nospec(idx, pc->num_user_engines);
>>           pe = &pc->user_engines[idx];
>>           /* Only render engine supports RPCS configuration. */


More information about the dri-devel mailing list