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 <[email protected]> --- drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c index d6f903a2d573..6ac206e2bc46 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c @@ -286,7 +286,11 @@ 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); + range->hmm_range.hmm_pfns = NULL; + } + amdgpu_bo_unref(&range->bo); kfree(range); } -- 2.34.1
