]> Gentwo Git Trees - linux/.git/commit
drm/amdkfd: Handle lack of READ permissions in SVM mapping
authorKent Russell <kent.russell@amd.com>
Mon, 21 Jul 2025 18:06:36 +0000 (14:06 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 15 Aug 2025 17:04:41 +0000 (13:04 -0400)
commit0ed704d058cec7643a716a21888d58c7d03f2c3e
treed3a4f7757df422b825ad6cff7874faf523c86c48
parent9d20f37a106f30f0d867e2f8521788f88dd9ed49
drm/amdkfd: Handle lack of READ permissions in SVM mapping

HMM assumes that pages have READ permissions by default. Inside
svm_range_validate_and_map, we add READ permissions then add WRITE
permissions if the VMA isn't read-only. This will conflict with regions
that only have PROT_WRITE or have PROT_NONE. When that happens,
svm_range_restore_work will continue to retry, silently, giving the
impression of a hang if pr_debug isn't enabled to show the retries..

If pages don't have READ permissions, simply unmap them and continue. If
they weren't mapped in the first place, this would be a no-op. Since x86
doesn't support write-only, and PROT_NONE doesn't allow reads or writes
anyways, this will allow the svm range validation to continue without
getting stuck in a loop forever on mappings we can't use with HMM.

Signed-off-by: Kent Russell <kent.russell@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_svm.c