DragonFlyBSD Kernel Audit
DF-1861 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/amdgpu/amdgpu_ids.c b/sys/dev/drm/amd/amdgpu/amdgpu_ids.c
--- a/sys/dev/drm/amd/amdgpu/amdgpu_ids.c
+++ b/sys/dev/drm/amd/amdgpu/amdgpu_ids.c
@@ -135,6 +135,9 @@
 		array = dma_fence_array_create(count, fences, context,
 					       1, false);
 		if (!array) {
+			unsigned int fi;
+			for (fi = 0; fi < count; fi++)
+				dma_fence_put(fences[fi]);
 			kfree(fences);
 			goto fallback;
 		}