On 1/15/26 03:53, Jiqian Chen wrote:
> If drm_sched_job_init fails, hw_vm_fence is not freed currently,
> then cause memory leak.
> 
> Signed-off-by: Jiqian Chen <[email protected]>
> ---
> v1->v2 changes:
> * assign the return code of drm_sched_job_init and check that instead.
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> index 7f5d01164897..72e1bfd3fe4c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
> @@ -219,8 +219,12 @@ int amdgpu_job_alloc(struct amdgpu_device *adev, struct 
> amdgpu_vm *vm,
>       if (!entity)
>               return 0;
>  
> -     return drm_sched_job_init(&(*job)->base, entity, 1, owner,
> -                               drm_client_id);
> +     r = drm_sched_job_init(&(*job)->base, entity, 1, owner, drm_client_id);
> +     if (!r) {
> +             return 0;
> +     }

Please drop the extra {}, and use checkpatch.pl. That tool should complain 
about stuff like that.

Apart from that looks good to me,
Christian.

> +
> +     kfree((*job)->hw_vm_fence);
>  
>  err_fence:
>       kfree((*job)->hw_fence);

Reply via email to