[PATCH v5 07/10] drm/msm: Don't fallback to shared VM for VM_BIND
From: Rob Clark
Date: Thu Jul 16 2026 - 16:18:55 EST
If the user wants a userspace managed VM (EN_VM_BIND) don't silently
fall back to shared VM.
Signed-off-by: Rob Clark <robin.clark@xxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/msm/msm_drv.c | 3 ++-
drivers/gpu/drm/msm/msm_gpu.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 52ff72d8e17a..73d99bde26f1 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -234,7 +234,8 @@ struct drm_gpuvm *msm_context_vm(struct drm_device *dev, struct msm_context *ctx
if (!ctx->vm) {
vm = msm_gpu_create_private_vm(
priv->gpu, current, !ctx->userspace_managed_vm);
- smp_store_release(&ctx->vm, vm);
+ if (!IS_ERR_OR_NULL(vm))
+ smp_store_release(&ctx->vm, vm);
}
return ctx->vm;
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index 18ed00e5f143..d02c37380414 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -875,7 +875,7 @@ msm_gpu_create_private_vm(struct msm_gpu *gpu, struct task_struct *task,
to_msm_vm(vm)->pid = get_pid(task_pid(task));
}
- if (IS_ERR_OR_NULL(vm))
+ if (IS_ERR_OR_NULL(vm) && !kernel_managed)
vm = drm_gpuvm_get(gpu->vm);
return vm;
--
2.55.0