Message ID | 20231102101642.52988-1-chentao@kylinos.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Fix potential spectre vulnerability | expand |
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@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@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. */
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; - + idx = array_index_nospec(idx, pc->num_user_engines); pe = &pc->user_engines[idx]; /* Only render engine supports RPCS configuration. */
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@kylinos.cn> --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)