On 2025-10-24 07:45, Khatri, Sunil wrote:
+shirish

On 24-10-2025 04:46 pm, Sunil Khatri wrote:
amdgpu_hmm_range_alloc could fails in case of low
memory condition and hence we should have a check
for the return value.

Signed-off-by: Sunil Khatri <[email protected]>
---
  drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index f041643308ca..7f0ab73e2396 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -1738,6 +1738,11 @@ static int svm_range_validate_and_map(struct mm_struct *mm,
                WRITE_ONCE(p->svms.faulting_task, current);
              range = amdgpu_hmm_range_alloc(NULL);
+            if (unlikely(!range)) {
+                r = -ENOMEM;
+                goto free_ctx;

Can not goto end from here,  this skips the svm_range_unreserve_bos. Just set r = -ENOMEM, and the loop will exit and cleanup accordingly.

Regards,

Philip

+            }
+
              r = amdgpu_hmm_range_get_pages(&prange->notifier, addr, npages,
                                 readonly, owner,
                                 range);

Reply via email to