drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tue, 7 Dec 2021 14:46:39 +0000 (09:46 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:31 +0000 (11:03 +0100)
commit89166801f80dc64083212eef1308bfc62f6844f1
tree4edbee3adee37e58e9942b98ffb631cb547a4014
parent6dcc6706dab10744d277bdc2613fb135c6a632dd
drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs

[ Upstream commit d374d3b493215d637b9e7be12a93f22caf4c1f97 ]

[Why]
During dcn31_stream_encoder_create, if PHYC/D get remapped to F/G on B0
then we'll index 5 or 6 into a array of length 5 - leading to an
access violation on some configs during device creation.

[How]
Software won't be touching PHYF/PHYG directly, so just extend the
array to cover all possible engine IDs.

Even if it does by try to access one of these registers by accident
the offset will be 0 and we'll get a warning during the access.

Fixes: 2fe9a0e1173f ("drm/amd/display: Fix DCN3 B0 DP Alt Mapping")
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c