Commit b892d391 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/sched: Check locking in drm_sched_job_add_implicit_dependencies



You really need to hold the reservation here or all kinds of funny
things can happen between grabbing the dependencies and inserting the
new fences.

v2: Fix commit summary (Christian)

Acked-by: default avatarMelissa Wen <mwen@igalia.com>
Reviewed-by: default avatar"Christian König" <christian.koenig@amd.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Luben Tuikov <luben.tuikov@amd.com>
Cc: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220331204651.2699107-4-daniel.vetter@ffwll.ch
parent d44c2642
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -703,6 +703,8 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job,
	struct dma_fence *fence;
	int ret;

	dma_resv_assert_held(obj->resv);

	dma_resv_for_each_fence(&cursor, obj->resv, write, fence) {
		/* Make sure to grab an additional ref on the added fence */
		dma_fence_get(fence);