]> exis.tech > repos - linux.git/commit
drm/i915/gem: Fix phys BO pread/pwrite with offset
authorJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 10 Jun 2026 06:03:14 +0000 (09:03 +0300)
committerTvrtko Ursulin <tursulin@ursulin.net>
Wed, 10 Jun 2026 08:23:22 +0000 (09:23 +0100)
commitd21ad938398bca695a511307de38a65889e3b354
tree7a7842d24c2dc98a5822194a4a1f624b5b612cae
parent2673cefa99ca918e7ac5b0388ff578a83656c896
drm/i915/gem: Fix phys BO pread/pwrite with offset

sg_page() returns struct page pointer not (void *) so the scaling
of pread/pwrite is wrong for phys BO and wrong parts of BO would be
accessed if non-zero offset is used.

Last impacted platform with overlay or cursor planes using phys
mapping was Gen3/945G/Lakeport.

Reported-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Fixes: c6790dc22312 ("drm/i915: Wean off drm_pci_alloc/drm_pci_free")
Cc: <stable@vger.kernel.org> # v4.5+
Cc: Tvrtko Ursulin <tursulin@ursulin.net>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Link: https://patch.msgid.link/20260610060314.26111-1-joonas.lahtinen@linux.intel.com
(cherry picked from commit 3e49a2f85070b2fb672c1e0fdba281a4ea3aebe6)
Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
drivers/gpu/drm/i915/gem/i915_gem_phys.c