drm/gpusvm: Force unmapping on error in drm_gpusvm_get_pages
authorMatthew Brost <matthew.brost@intel.com>
Fri, 30 Jan 2026 19:49:27 +0000 (11:49 -0800)
committerMatthew Brost <matthew.brost@intel.com>
Wed, 4 Feb 2026 19:22:49 +0000 (11:22 -0800)
commit556dba95473900073a6c03121361c11f646dc551
tree92ae4ba674666c6e74f38730ea708fb4059064fc
parent39125eaf8863ab09d70c4b493f58639b08d5a897
drm/gpusvm: Force unmapping on error in drm_gpusvm_get_pages

drm_gpusvm_get_pages() only sets the local flags prior to committing the
pages. If an error occurs mid-mapping, has_dma_mapping will be clear,
causing the unmap function to skip unmapping pages that were
successfully mapped before the error. Fix this by forcibly setting
has_dma_mapping in the error path to ensure all previously mapped pages
are properly unmapped.

Fixes: 99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
Link: https://patch.msgid.link/20260130194928.3255613-2-matthew.brost@intel.com
drivers/gpu/drm/drm_gpusvm.c