Re: [PATCH v1 1/2] drm/amdgpu: clear job on failure in amdgpu_job_alloc(_with_ib)
From: Christian König
Date: Mon Nov 24 2025 - 14:25:26 EST
On 11/24/25 17:36, Pierre-Eric Pelloux-Prayer wrote:
> If memory is freed we need to nullify the pointer or the caller
> might call kfree again (eg: amdgpu_cs_parser_fini calls kfree on
> all non-null job pointers).
>
> Fixes: a35c520c1611 ("drm/amdgpu: clean up and unify hw fence handling")
> Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@xxxxxxx>
Reviewed-by: Christian König <christian.koenig@xxxxxxx> for both patches.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> index efa3281145f6..2fc3d9da0fe7 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> @@ -225,6 +225,7 @@ int amdgpu_job_alloc(struct amdgpu_device *adev, struct amdgpu_vm *vm,
> kfree((*job)->hw_fence);
> err_job:
> kfree(*job);
> + *job = NULL;
>
> return r;
> }
> @@ -246,6 +247,7 @@ int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev,
> if (entity)
> drm_sched_job_cleanup(&(*job)->base);
> kfree(*job);
> + *job = NULL;
> }
>
> return r;