drm/pagemap: Clear driver-provided PFNs from migration PFN array
authorMatthew Brost <matthew.brost@intel.com>
Tue, 21 Jul 2026 20:43:53 +0000 (13:43 -0700)
committerMatthew Brost <matthew.brost@intel.com>
Wed, 22 Jul 2026 07:38:27 +0000 (00:38 -0700)
commit1f1be4ba643fb67410d753111c37ae42a2e2a814
tree3e0141f44fe692bf196180f64adf8df35a3a8e05
parent6b7e0066294d23ad1fd37f4326c32e8090fb8b65
drm/pagemap: Clear driver-provided PFNs from migration PFN array

DRM pagemap overloads the migration PFN array to store driver-provided
PFNs before calling migrate_vma_*() to finalize the migration. If an
error occurs during the incremental copy phase, the migration PFN
entries are reverted to their original state. After reverting the
device-folio mutations, clear any remaining driver-provided PFNs to
avoid confusing the migrate_vma_*() helpers.

Also clear any driver-provided PFNs if populate_devmem_pfn() fails, as
a precaution against stale entries being interpreted as migration PFNs.

Reported-by: Sashiko <sashiko-bot@kernel.org>
Fixes: 3902846af36b ("drm/pagemap Fix error paths in drm_pagemap_migrate_to_devmem")
Fixes: ec265e1f1cfc ("drm/pagemap: Support source migration over interconnect")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Link: https://patch.msgid.link/20260721204353.1082632-1-matthew.brost@intel.com
drivers/gpu/drm/drm_pagemap.c