⬢ DragonFlyBSD Kernel Audit
DF-4313 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/display/dc/dcn10/dcn10_resource.c
+++ b/sys/dev/drm/amd/display/dc/dcn10/dcn10_resource.c
@@ -1348,6 +1348,11 @@
 	}
 
 	pool->base.pp_smu = dcn10_pp_smu_create(ctx);
+	if (pool->base.pp_smu == NULL) {
+		dm_error("DC: failed to create pp_smu!\n");
+		BREAK_TO_DEBUGGER();
+		goto fail;
+	}
 
 	if (!dc->debug.disable_pplib_clock_request)
 		dcn_bw_update_from_pplib(dc);
@@ -1493,5 +1498,6 @@
 		return &pool->base;
 
 	BREAK_TO_DEBUGGER();
+	kfree(pool);
 	return NULL;
 }