Commit 5d42ee45 authored by Jiqian Chen's avatar Jiqian Chen Committed by Alex Deucher
Browse files

drm/amdgpu: free hw_vm_fence when fail in amdgpu_job_alloc

If drm_sched_job_init fails, hw_vm_fence is not freed currently,
then cause memory leak.

Fixes: db36632e ("drm/amdgpu: clean up and unify hw fence handling")
Link: https://lore.kernel.org/amd-gfx/a5a828cb-0e4a-41f0-94c3-df31e5ddad52@amd.com/T/#t


Signed-off-by: default avatarJiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: default avatarAmos Kong <kongjianjun@gmail.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent fc3336be
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -218,8 +218,11 @@ 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;

	kfree((*job)->hw_vm_fence);

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