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");

Reply via email to