summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil Khatri <sunil.khatri@amd.com>2025-10-21 15:14:06 +0530
committerAlex Deucher <alexander.deucher@amd.com>2025-10-28 09:54:46 -0400
commit84564d2920b8c858d96cb7471b45203d35f63b61 (patch)
treec6d4da179b10add3c6b12a23dfc12ee02c997f1f
parent6f1ee58a5e56c4a7b5b3fe9323e4510df156449c (diff)
drm/amdgpu: null check for hmm_pfns ptr before freeing it
Due to low memory or when num of pages is too big to be accomodated, allocation could fail for pfn's. Chekc hmm_pfns for NULL before calling the kvfree for the it. Signed-off-by: Sunil Khatri <sunil.khatri@amd.com> Acked-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c
index d6f903a2d573..7e5a09b0bc78 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c
@@ -286,7 +286,9 @@ void amdgpu_hmm_range_free(struct amdgpu_hmm_range *range)
if (!range)
return;
- kvfree(range->hmm_range.hmm_pfns);
+ if (range->hmm_range.hmm_pfns)
+ kvfree(range->hmm_range.hmm_pfns);
+
amdgpu_bo_unref(&range->bo);
kfree(range);
}