DragonFlyBSD Kernel Audit
DF-1618 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c b/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c
--- a/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c
+++ b/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c
@@ -105,7 +105,10 @@
 	enum signal_type signal)
 {
 	uint32_t interlace_factor = timing->flags.INTERLACE ? 2 : 1;
-	uint32_t v_blank =
+	uint32_t v_blank;
+	if (timing->v_total <= timing->v_addressable + timing->v_border_top + timing->v_border_bottom)
+		return false;
+	v_blank =
 					(timing->v_total - timing->v_addressable -
 					timing->v_border_top - timing->v_border_bottom) *
 					interlace_factor;