On 10/28/25 13:13, Sunil Khatri wrote: > a. hmm_range is either NULL or a valid pointer so we > do not need to set range to NULL ever. > > b. keep the hmm_range_free in the end irrespective of > the other conditions to avoid some additional checks > and also avoid double free issue. > > Signed-off-by: Sunil Khatri <[email protected]> > --- > drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > index ffb7b36e577c..fb3daa7cd326 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c > @@ -1744,11 +1744,8 @@ static int svm_range_validate_and_map(struct mm_struct > *mm, > else > r = -ENOMEM; > WRITE_ONCE(p->svms.faulting_task, NULL); > - if (r) { > - amdgpu_hmm_range_free(range); > - range = NULL; > + if (r) > pr_debug("failed %d to get svm range pages\n", > r); > - } > } else { > r = -EFAULT; > } > @@ -1767,14 +1764,13 @@ static int svm_range_validate_and_map(struct > mm_struct *mm, > * Override return value to TRY AGAIN only if prior returns > * were successful > */ > - if (range && !amdgpu_hmm_range_valid(range) && !r) { > + if (range && !amdgpu_hmm_range_valid(range) && !r ) {
Extra unnecessary space here before the ). With that fixed Acked-by: Christian König <[email protected]> for this patch here and rb for #2 in the series. Regards, Christian. > pr_debug("hmm update the range, need validate again\n"); > r = -EAGAIN; > } > - /* Free the hmm range */ > - if (range) > - amdgpu_hmm_range_free(range); > > + /* Free the hmm range */ > + amdgpu_hmm_range_free(range); > > if (!r && !list_empty(&prange->child_list)) { > pr_debug("range split by unmap in parallel, validate > again\n");
