Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70eacc72 authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/amdgpu: fix error handling in amdgpu_bo_list_set



Don't leak BOs in case of some error.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0994c09c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
		usermm = amdgpu_ttm_tt_get_usermm(entry->robj->tbo.ttm);
		if (usermm) {
			if (usermm != current->mm) {
				amdgpu_bo_unref(&entry->robj);
				r = -EPERM;
				goto error_free;
			}
@@ -151,6 +152,8 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
	return 0;

error_free:
	while (i--)
		amdgpu_bo_unref(&array[i].robj);
	drm_free_large(array);
	return r;
}