drm/xe/userptr: Unmap userptrs in the mmu notifier
If userptr pages are freed after a call to the xe mmu notifier, the device will not be blocked out from theoretically accessing these pages unless they are also unmapped from the iommu, and this violates some aspects of the iommu-imposed security. Ensure that userptrs are unmapped in the mmu notifier to mitigate this. A naive attempt would try to free the sg table, but the sg table itself may be accessed by a concurrent bind operation, so settle for only unmapping. v3: - Update lockdep asserts. - Fix a typo (Matthew Auld) Fixes: 81e058a3 ("drm/xe: Introduce helper to populate userptr") Cc: Oak Zeng <oak.zeng@intel.com> Cc: Matthew Auld <matthew.auld@intel.com> Cc: <stable@vger.kernel.org> # v6.10+ Signed-off-by:Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by:
Matthew Auld <matthew.auld@intel.com> Acked-by:
Matthew Brost <matthew.brost@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250304173342.22009-4-thomas.hellstrom@linux.intel.com (cherry picked from commit ba767b9d) Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
Showing
- drivers/gpu/drm/xe/xe_hmm.c 42 additions, 9 deletionsdrivers/gpu/drm/xe/xe_hmm.c
- drivers/gpu/drm/xe/xe_hmm.h 2 additions, 0 deletionsdrivers/gpu/drm/xe/xe_hmm.h
- drivers/gpu/drm/xe/xe_vm.c 4 additions, 0 deletionsdrivers/gpu/drm/xe/xe_vm.c
- drivers/gpu/drm/xe/xe_vm_types.h 4 additions, 0 deletionsdrivers/gpu/drm/xe/xe_vm_types.h
Please register or sign in to comment