DragonFlyBSD Kernel Audit
DF-1694 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/display/dc/dce/dce_aux.c
+++ b/sys/dev/drm/amd/display/dc/dce/dce_aux.c
@@ -498,7 +498,9 @@
 			ctx->timed_out_retry_aux = 0;
 			ctx->invalid_reply_retry_aux = 0;
 
-			ctx->reply.length = ctx->returned_byte;
+			if (ctx->returned_byte > DEFAULT_AUX_MAX_DATA_SIZE)
+			ctx->returned_byte = DEFAULT_AUX_MAX_DATA_SIZE;
+		ctx->reply.length = ctx->returned_byte;
 			ctx->reply.data = ctx->buffer;
 
 			process_read_reply(engine, ctx);