Subject: CVE-2024-49969: drm/amd/display: Fix index out of bounds in DCN30 color transformation

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

drm/amd/display: Fix index out of bounds in DCN30 color transformation

This commit addresses a potential index out of bounds issue in the
`cm3_helper_translate_curve_to_hw_format` function in the DCN30 color
management module. The issue could occur when the index 'i' exceeds the
number of transfer function points (TRANSFER_FUNC_POINTS).

The fix adds a check to ensure 'i' is within bounds before accessing the
transfer function points. If 'i' is out of bounds, the function returns
false to indicate an error.

drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_cm_common.c:180 cm3_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_cm_common.c:181 cm3_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_cm_common.c:182 cm3_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max

The Linux kernel CVE team has assigned CVE-2024-49969 to this issue.

Affected and fixed versions
===========================

	Fixed in 5.10.227 with commit 7ab69af56a23
	Fixed in 5.15.168 with commit c13f9c62015c
	Fixed in 6.1.113 with commit 0f1e222a4b41
	Fixed in 6.6.55 with commit 929506d56714
	Fixed in 6.10.14 with commit 578422ddae3d
	Fixed in 6.11.3 with commit b9d8b94ec7e6
	Fixed in 6.12-rc1 with commit d81873f9e715

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-49969
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/7ab69af56a23859b647dee69fa1052c689343621
	https://git.kernel.org/stable/c/c13f9c62015c56a938304cef6d507227ea3e0039
	https://git.kernel.org/stable/c/0f1e222a4b41d77c442901d166fbdca967af0d86
	https://git.kernel.org/stable/c/929506d5671419cffd8d01e9a7f5eae53682a838
	https://git.kernel.org/stable/c/578422ddae3d13362b64e77ef9bab98780641631
	https://git.kernel.org/stable/c/b9d8b94ec7e67f0cae228c054f77b73967c389a3
	https://git.kernel.org/stable/c/d81873f9e715b72d4f8d391c8eb243946f784dfc