linux/drivers/gpu/drm/amd/display
Srinivasan Shanmugam 98b8a6bfd3 drm/amd/display: Fix potential index out of bounds in color transformation function
[ Upstream commit 63ae548f10 ]

Fixes index out of bounds issue in the color transformation function.
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, an error message is
logged and the function returns false to indicate an error.

Reported by smatch:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:405 cm_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:406 cm_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:407 cm_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max

Fixes: b629596072 ("drm/amd/display: Build unity lut for shaper")
Cc: Vitaly Prosyak <vitaly.prosyak@amd.com>
Cc: Charlene Liu <Charlene.Liu@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Cc: Roman Li <roman.li@amd.com>
Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
Cc: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-06-12 11:03:22 +02:00
..
amdgpu_dm drm/amd/display: Set color_mgmt_changed to true on unsuspend 2024-06-12 11:02:59 +02:00
dc drm/amd/display: Fix potential index out of bounds in color transformation function 2024-06-12 11:03:22 +02:00
dmub drm/amd/display: Guard against invalid RPTR/WPTR being set 2023-12-08 08:51:19 +01:00
include drm/amd/display: get dprefclk ss info from integration info table 2024-01-20 11:50:09 +01:00
modules drm/amd/display: Fix nanosec stat overflow 2024-04-13 13:05:10 +02:00
Kconfig drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame 2022-11-30 14:49:42 -08:00
Makefile drm/amd/display: Drop CONFIG_DRM_AMD_DC_DMUB guards 2019-11-13 15:29:42 -05:00
TODO drm/amd/display: Convert remaining loggers off dc_logger 2018-07-13 14:48:42 -05:00