Since commit ccbc1b97948ab671335e950271e39766729736c3 Author: Jason Ekstrand <ja...@jlekstrand.net> Date: Thu Jul 8 10:48:30 2021 -0500
drm/i915/gem: Don't allow changing the VM on running contexts (v4) the gem_ctx->vm can't change anymore. Plus we always set the intel_context->vm, so might as well use the helper we have for that. This makes it very clear that we always overwrite intel_context->vm for userspace contexts, since the default is gt->vm, which is explicitly reserved for kernel context use. It would be good to split things up a bit further and avoid any possibility for an accident where we run kernel stuff in userspace vm or the other way round. Signed-off-by: Daniel Vetter <daniel.vet...@intel.com> Cc: Jon Bloomfield <jon.bloomfi...@intel.com> Cc: Chris Wilson <ch...@chris-wilson.co.uk> Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com> Cc: Daniel Vetter <daniel.vet...@ffwll.ch> Cc: "Thomas Hellström" <thomas.hellst...@linux.intel.com> Cc: Matthew Auld <matthew.a...@intel.com> Cc: Lionel Landwerlin <lionel.g.landwer...@intel.com> Cc: Dave Airlie <airl...@redhat.com> Cc: Jason Ekstrand <ja...@jlekstrand.net> --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c index 1eec85944c1f..18e23d9220ae 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c @@ -791,16 +791,8 @@ static int intel_context_set_gem(struct intel_context *ce, ce->ring_size = SZ_16K; - if (rcu_access_pointer(ctx->vm)) { - struct i915_address_space *vm; - - rcu_read_lock(); - vm = context_get_vm_rcu(ctx); /* hmm */ - rcu_read_unlock(); - - i915_vm_put(ce->vm); - ce->vm = vm; - } + i915_vm_put(ce->vm); + ce->vm = i915_gem_context_get_eb_vm(ctx); if (ctx->sched.priority >= I915_PRIORITY_NORMAL && intel_engine_has_timeslices(ce->engine) && -- 2.32.0