1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/display/dc
Srinivasan Shanmugam 34b811a281 drm/amd/display: Prevent potential buffer overflow in map_hw_resources
Adds a check in the map_hw_resources function to prevent a potential
buffer overflow. The function was accessing arrays using an index that
could potentially be greater than the size of the arrays, leading to a
buffer overflow.

Adds a check to ensure that the index is within the bounds of the
arrays. If the index is out of bounds, an error message is printed and
break it will continue execution with just ignoring extra data early to
prevent the buffer overflow.

Reported by smatch:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:79 map_hw_resources() error: buffer overflow 'dml2->v20.scratch.dml_to_dc_pipe_mapping.disp_cfg_to_stream_id' 6 <= 7
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:81 map_hw_resources() error: buffer overflow 'dml2->v20.scratch.dml_to_dc_pipe_mapping.disp_cfg_to_plane_id' 6 <= 7

Fixes: 7966f319c6 ("drm/amd/display: Introduce DML2")
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Cc: Roman Li <roman.li@amd.com>
Cc: Qingqing Zhuo <Qingqing.Zhuo@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>
Suggested-by: Roman Li <roman.li@amd.com>
Reviewed-by: Roman Li <roman.li@amd.com>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2024-02-26 11:12:54 -05:00
..
basics drm/amd/display: Drop unnecessary header 2024-02-22 10:26:08 -05:00
bios drm/amd/display: fixed integer types and null check locations 2024-02-14 17:13:28 -05:00
clk_mgr drm/amd/display: Drop unnecessary header 2024-02-22 10:26:08 -05:00
core drm/amd/display: Generalize new minimal transition path 2024-02-22 10:24:05 -05:00
dce drm/amd/display: Only allow dig mapping to pwrseq in new asic 2024-02-22 10:17:52 -05:00
dce60 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce80 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dce110 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dce112 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dce120 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dcn10 drm/amd/display: Add debug option to force 1-tap chroma subsampling 2024-02-07 12:26:22 -05:00
dcn20 drm/amd/display: hook up DCN20 color blocks data to DTN log 2024-01-22 17:13:28 -05:00
dcn21 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn30 drm/amdgpu/display: Initialize gamma correction mode variable in dcn30_get_gamcor_current() 2024-02-14 17:14:19 -05:00
dcn31 drm/amd/display: Only allow dig mapping to pwrseq in new asic 2024-02-22 10:17:52 -05:00
dcn32 drm/amd/display: Check DP Alt mode DPCS state via DMUB 2024-02-22 10:23:55 -05:00
dcn35 drm/amd/display: fix USB-C flag update after enc10 feature init 2024-01-29 15:42:19 -05:00
dcn201 drm/amd/display: Add dpp_get_gamut_remap functions 2024-01-22 17:13:26 -05:00
dcn301 drm/amd/display: Only allow dig mapping to pwrseq in new asic 2024-02-22 10:17:52 -05:00
dcn302 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn303 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn314 drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
dcn321 drm/amd/display: Refactor resource into component directory 2023-11-17 09:30:50 -05:00
dml drm/amd/display: Remove pixle rate limit for subvp 2024-02-22 10:25:06 -05:00
dml2 drm/amd/display: Prevent potential buffer overflow in map_hw_resources 2024-02-26 11:12:54 -05:00
dsc drm/amd/display: Fix timing bandwidth calculation for HDMI 2024-01-22 17:13:26 -05:00
gpio drm/amd/display: Add DCN35 GPIO 2023-08-30 15:51:14 -04:00
hdcp drm/amd/display: Drop unnecessary header 2024-02-22 10:26:08 -05:00
hwss Revert "drm/amd/display: Add left edge pixel for YCbCr422/420 + ODM pipe split" 2024-02-14 17:16:16 -05:00
inc drm/amd/display: Generalize new minimal transition path 2024-02-22 10:24:05 -05:00
irq drm/amd/display: Drop unnecessary header 2024-02-22 10:26:08 -05:00
link drm/amd/display: Use kcalloc() instead of kzalloc() 2024-02-22 10:28:32 -05:00
optc drm/amd/display: Clear OPTC mem select on disable 2024-01-15 18:35:38 -05:00
resource drm/amd/display: Drop unnecessary header 2024-02-22 10:26:08 -05:00
virtual drm/amd/display: make virtual_disable_link_output static 2022-10-11 11:32:59 -04:00
dc.h drm/amd/display: 3.2.273 2024-02-22 10:26:25 -05:00
dc_bios_types.h drm/amd/display: Pass pwrseq inst for backlight and ABM 2023-12-06 15:22:33 -05:00
dc_ddc_types.h drm/amd/display: move public dc link function implementation to dc_link_exports 2023-02-14 16:06:28 -05:00
dc_dmub_srv.c drm/amd/display: Fix potential null pointer dereference in dc_dmub_srv 2024-02-22 10:18:15 -05:00
dc_dmub_srv.h drm/amd/display: Wake DMCUB before executing GPINT commands 2023-12-19 14:59:02 -05:00
dc_dp_types.h drm/amd/display: Add dpia display mode validation logic 2024-01-03 10:47:12 -05:00
dc_dsc.h drm/amd/display: Add link encoding to timing BW calculation parameters 2023-07-18 11:15:51 -04:00
dc_edid_parser.c drm/amd/display: Add Freesync HDMI support to DMCU 2021-02-02 12:11:41 -05:00
dc_edid_parser.h drm/amd/display: Add Freesync HDMI support to DMCU 2021-02-02 12:11:41 -05:00
dc_hdmi_types.h drm/amd/display/dc/dc_hdmi_types: Move string definition to the only file it's used in 2023-03-22 00:47:59 -04:00
dc_helper.c drm/amd/display: Wake DMCUB before sending a command 2023-12-19 14:59:02 -05:00
dc_hw_types.h drm/amd/display: Drop some unnecessary guards 2024-02-07 12:26:23 -05:00
dc_plane.h drm/amd/display: Refactor dc_state interface 2023-12-19 14:59:02 -05:00
dc_plane_priv.h drm/amd/display: Refactor dc_state interface 2023-12-19 14:59:02 -05:00
dc_stat.h drm/amd/display: DMUB Outbound Interrupt Process-X86 2021-07-08 15:14:36 -04:00
dc_state.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_state_priv.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_stream.h Revert "drm/amd/display: For FPO and SubVP/DRR configs program vmin/max sel" 2024-02-07 12:26:23 -05:00
dc_stream_priv.h drm/amd/display: Refactor phantom resource allocation 2023-12-19 14:59:02 -05:00
dc_trace.h drm/amd/display: Add events log to trace OPTC lock and unlock 2022-10-24 14:36:06 -04:00
dc_types.h drm/amd/display: Replay + IPS + ABM in Full Screen VPB 2024-01-22 17:13:27 -05:00
dm_cp_psp.h drm/amd/display: Trivial code style adjustment 2024-02-07 12:26:23 -05:00
dm_event_log.h
dm_helpers.h drm/amd/display: adjust flow for deallocation mst payload 2023-11-29 16:49:00 -05:00
dm_pp_smu.h drm/amd/pm: support return vpe clock table 2023-12-14 15:25:59 -05:00
dm_services.h drm/amd/display: Show the DCN/DCE version in the log 2023-06-09 09:34:09 -04:00
dm_services_types.h drm/amd/display: refactor dmub commands into single function 2023-04-18 16:28:52 -04:00
irq_types.h drm/amd/display: Correct enum typo 2023-10-26 18:59:56 -04:00
Makefile drm/amd/display: Refactor INIT into component folder 2024-01-03 10:47:29 -05:00
os_types.h drm/amd/display: switch DC over to the new DRM logging macros 2023-09-26 17:00:21 -04:00