DragonFlyBSD Kernel Audit
DF-1726 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/radeon/radeon_cs.c b/sys/dev/drm/radeon/radeon_cs.c
--- a/sys/dev/drm/radeon/radeon_cs.c
+++ b/sys/dev/drm/radeon/radeon_cs.c
@@ -424,6 +424,11 @@
 		 */
 		list_sort(NULL, &parser->validated, cmp_size_smaller_first);
 
+		if (parser->ib.fence == NULL) {
+			DRM_ERROR("cs: no fence scheduled (missing IB chunk)\n");
+			ttm_eu_backoff_reservation(&parser->ticket,
+						   &parser->validated);
+		} else
 		ttm_eu_fence_buffer_objects(&parser->ticket,
 					    &parser->validated,
 					    &parser->ib.fence->base);