DragonFlyBSD Kernel Audit
DF-1834 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/scheduler/sched_main.c b/sys/dev/drm/scheduler/sched_main.c
--- a/sys/dev/drm/scheduler/sched_main.c
+++ b/sys/dev/drm/scheduler/sched_main.c
@@ -259,7 +259,8 @@
 	list_for_each_entry_reverse(job, &sched->ring_mirror_list, node) {
 		struct drm_sched_fence *fence = job->s_fence;
 
-		if (!dma_fence_remove_callback(fence->parent, &fence->cb))
+		if (fence->parent != NULL &&
+		    !dma_fence_remove_callback(fence->parent, &fence->cb))
 			goto already_signaled;
 	}