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

sys/dev/pci/drm/amd/display/dc/dcn10/dcn10_cm_common.c

index c0372aa..684e30f 100644 (file)
@@ -571,6 +571,8 @@ bool cm_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];