mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
drm/amd/display: Adding array index check to prevent memory corruption
[Why & How] Array indices out of bound caused memory corruption. Adding checks to ensure that array index stays in bound. Reviewed-by: Charlene Liu <charlene.liu@amd.com> Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: Leo Chen <leo.chen@amd.com> Signed-off-by: Wayne Lin <wayne.lin@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
41094c608a
commit
2c437d9a0b
|
|
@ -257,11 +257,11 @@ static void dcn35_notify_host_router_bw(struct clk_mgr *clk_mgr_base, struct dc_
|
|||
struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
|
||||
uint32_t host_router_bw_kbps[MAX_HOST_ROUTERS_NUM] = { 0 };
|
||||
int i;
|
||||
|
||||
for (i = 0; i < context->stream_count; ++i) {
|
||||
const struct dc_stream_state *stream = context->streams[i];
|
||||
const struct dc_link *link = stream->link;
|
||||
uint8_t lowest_dpia_index = 0, hr_index = 0;
|
||||
uint8_t lowest_dpia_index = 0;
|
||||
unsigned int hr_index = 0;
|
||||
|
||||
if (!link)
|
||||
continue;
|
||||
|
|
@ -271,6 +271,8 @@ static void dcn35_notify_host_router_bw(struct clk_mgr *clk_mgr_base, struct dc_
|
|||
continue;
|
||||
|
||||
hr_index = (link->link_index - lowest_dpia_index) / 2;
|
||||
if (hr_index >= MAX_HOST_ROUTERS_NUM)
|
||||
continue;
|
||||
host_router_bw_kbps[hr_index] += dc_bandwidth_in_kbps_from_timing(
|
||||
&stream->timing, dc_link_get_highest_encoding_format(link));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user