drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation
authorjsg <jsg@openbsd.org>
Fri, 11 Oct 2024 02:26:49 +0000 (02:26 +0000)
committerjsg <jsg@openbsd.org>
Fri, 11 Oct 2024 02:26:49 +0000 (02:26 +0000)
From Srinivasan Shanmugam
0d38a0751143afc03faef02d55d31f70374ff843 in linux-6.6.y/6.6.55
bc50b614d59990747dd5aeced9ec22f9258991ff in mainline linux

sys/dev/pci/drm/amd/display/dc/dcn30/dcn30_cm_common.c

index e0df9b0..e0b1fc9 100644 (file)
@@ -355,6 +355,8 @@ bool cm3_helper_translate_curve_to_degamma_hw_format(
                                i += increment) {
                        if (j == hw_points - 1)
                                break;
+                       if (i >= TRANSFER_FUNC_POINTS)
+                               return false;
                        rgb_resulted[j].red = output_tf->tf_pts.red[i];
                        rgb_resulted[j].green = output_tf->tf_pts.green[i];
                        rgb_resulted[j].blue = output_tf->tf_pts.blue[i];