]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/gem: Add missing nospec on parallel submit slot
authorJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 22 Jun 2026 13:25:39 +0000 (16:25 +0300)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Tue, 23 Jun 2026 08:36:28 +0000 (11:36 +0300)
Add missing Spectre mitigation for userspace controlled parallel
submission slot.

Discovered using AI-assisted static analysis confirmed by Intel
Product Security.

Reported-by: Martin Hodo <martin.hodo@intel.com>
Fixes: e5e32171a2cf ("drm/i915/guc: Connect UAPI to GuC multi-lrc interface")
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Tvrtko Ursulin <tursulin@ursulin.net>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Cc: <stable@vger.kernel.org> # v5.16+
Link: https://patch.msgid.link/20260622132539.165558-1-joonas.lahtinen@linux.intel.com
(cherry picked from commit 15b9353deff3cf72331c387780de3cf9c316b643)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gem/i915_gem_context.c

index 6ac0f23570f335791e92bc2b32d3c6bd338720d2..aeafe1742d3080a2a3c1655da5b8bd2045436ca4 100644 (file)
@@ -613,6 +613,7 @@ set_proto_ctx_engines_parallel_submit(struct i915_user_extension __user *base,
                return -EINVAL;
        }
 
+       slot = array_index_nospec(slot, set->num_engines);
        if (set->engines[slot].type != I915_GEM_ENGINE_TYPE_INVALID) {
                drm_dbg(&i915->drm,
                        "Invalid placement[%d], already occupied\n", slot);