[Bug 266315] linuxkpi panic after recent updates (13.1-STABLE #0 stable/13-9cbba5950: Wed Sep 7 23:42:41 CEST 2022)

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 23 Feb 2023 01:25:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266315

--- Comment #44 from Paul Dufresne <dufresnep@zoho.com> ---
(In reply to jakub_lach from comment #35)
I searched: i915-userptr-acquir
and come to this patch:
https://lore.kernel.org/lkml/20191010083524.098009692@linuxfoundation.org/

With that patch:
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=203317
Fixes: 5cc9ed4b9a7a ("drm/i915: Introduce mapping of user pages into video
memory (userptr) ioctl")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20190708140327.26825-1-chris@chris-wilson.co.uk
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/i915/i915_gem_userptr.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c
b/drivers/gpu/drm/i915/i915_gem_userptr.c
index 05ae8c4a8a1b6..9760b67dab28b 100644
--- a/drivers/gpu/drm/i915/i915_gem_userptr.c
+++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
@@ -691,7 +691,15 @@ i915_gem_userptr_put_pages(struct drm_i915_gem_object
*obj,

        for_each_sgt_page(page, sgt_iter, pages) {
                if (obj->mm.dirty)
-                       set_page_dirty(page);
+                       /*
+                        * As this may not be anonymous memory (e.g. shmem)
+                        * but exist on a real mapping, we have to lock
+                        * the page in order to dirty it -- holding
+                        * the page reference is not sufficient to
+                        * prevent the inode from being truncated.
+                        * Play safe and take the lock.
+                        */
+                       set_page_dirty_lock(page);

                mark_page_accessed(page);
                put_page(page);
-- 
2.20.1

Need to find where the equivalent for us is and see if it is applied.

-- 
You are receiving this mail because:
You are on the CC list for the bug.