aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirmoy Das <[email protected]>2024-02-19 13:50:47 +0100
committerTvrtko Ursulin <[email protected]>2024-02-28 13:11:32 +0000
commitdb7bbd13f08774cde0332c705f042e327fe21e73 (patch)
treeb3e84284042f841e0e7e9547ee15eb5d27cac6fe
parent5cf0fbf7637410aea88819e64a4bd5ea14ccbbfc (diff)
drm/i915: Check before removing mm notifier
Error in mmu_interval_notifier_insert() can leave a NULL notifier.mm pointer. Catch that and return early. Fixes: ed29c2691188 ("drm/i915: Fix userptr so we do not have to worry about obj->mm.lock, v7.") Cc: <[email protected]> # v5.13+ [tursulin: Added Fixes and cc stable.] Cc: Andi Shyti <[email protected]> Cc: Shawn Lee <[email protected]> Signed-off-by: Nirmoy Das <[email protected]> Reviewed-by: Rodrigo Vivi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Tvrtko Ursulin <[email protected]>
-rw-r--r--drivers/gpu/drm/i915/gem/i915_gem_userptr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
index 0e21ce9d3e5a..61abfb505766 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
@@ -349,6 +349,9 @@ i915_gem_userptr_release(struct drm_i915_gem_object *obj)
{
GEM_WARN_ON(obj->userptr.page_ref);
+ if (!obj->userptr.notifier.mm)
+ return;
+
mmu_interval_notifier_remove(&obj->userptr.notifier);
obj->userptr.notifier.mm = NULL;
}