diff options
| author | Matthew Brost <matthew.brost@intel.com> | 2026-03-25 16:16:08 -0700 |
|---|---|---|
| committer | Matthew Brost <matthew.brost@intel.com> | 2026-04-01 20:45:31 -0700 |
| commit | b82a225e57a334335a21462b75ee2223bc6efe6d (patch) | |
| tree | 2017a6a567107a6a9426306b6e824ed68463f509 /include/linux/timerqueue_types.h | |
| parent | 896070686b16cc45cca7854be2049923b2b303d3 (diff) | |
drm/gpusvm: Reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges
VMAs marked with VM_IO or VM_PFNMAP are not backed by struct page
objects, which GPUSVM requires in order to operate correctly. In
particular, get_pages() relies on hmm_range_fault() to resolve struct
pages for the target range.
Attempting to create an SVM range on such VMAs results in repeated
get_pages() failures and can lead to an infinite loop inside a driver’s
page‑fault handler. Prevent this by rejecting ranges on VM_IO or
VM_PFNMAP VMAs and returning -EIO.
Fixes: 99624bdff867 ("drm/gpusvm: Add support for GPU Shared Virtual Memory")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Link: https://patch.msgid.link/20260325231608.25581-1-matthew.brost@intel.com
Diffstat (limited to 'include/linux/timerqueue_types.h')
0 files changed, 0 insertions, 0 deletions
