lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0259/1039] drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs
    Date
    From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>

    [ 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 | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c b/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
    index 27afbe6ec0fee..f969ff65f802b 100644
    --- a/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
    +++ b/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
    @@ -493,7 +493,8 @@ static const struct dcn31_apg_mask apg_mask = {
    SE_DCN3_REG_LIST(id)\
    }

    -static const struct dcn10_stream_enc_registers stream_enc_regs[] = {
    +/* Some encoders won't be initialized here - but they're logical, not physical. */
    +static const struct dcn10_stream_enc_registers stream_enc_regs[ENGINE_ID_COUNT] = {
    stream_enc_regs(0),
    stream_enc_regs(1),
    stream_enc_regs(2),
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 23:11    [W:2.377 / U:0.576 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site