lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 230/849] drm/amd/display: Fix null pointer dereference for encoders
    Date
    From: Jimmy Kizito <Jimmy.Kizito@amd.com>

    [ Upstream commit 60f39edd897ea134a4ddb789a6795681691c3183 ]

    [Why]
    Links which are dynamically assigned link encoders have their link
    encoder set to NULL.

    [How]
    Check that a pointer to a link_encoder object is non-NULL before using
    it.

    Reviewed-by: Aric Cyr <aric.cyr@amd.com>
    Reviewed-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
    Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
    Signed-off-by: Jimmy Kizito <Jimmy.Kizito@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/core/dc_link_dp.c | 2 +-
    drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 2 +-
    2 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
    index 3c8da3665a274..7b418f3f9291c 100644
    --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
    +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
    @@ -4681,7 +4681,7 @@ enum dc_status dp_set_fec_ready(struct dc_link *link, bool ready)
    link_enc->funcs->fec_set_ready(link_enc, true);
    link->fec_state = dc_link_fec_ready;
    } else {
    - link_enc->funcs->fec_set_ready(link->link_enc, false);
    + link_enc->funcs->fec_set_ready(link_enc, false);
    link->fec_state = dc_link_fec_not_ready;
    dm_error("dpcd write failed to set fec_ready");
    }
    diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
    index 75fa4adcf5f40..da7c906ba5eb5 100644
    --- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
    +++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
    @@ -1522,7 +1522,7 @@ void dcn10_power_down_on_boot(struct dc *dc)
    for (i = 0; i < dc->link_count; i++) {
    struct dc_link *link = dc->links[i];

    - if (link->link_enc->funcs->is_dig_enabled &&
    + if (link->link_enc && link->link_enc->funcs->is_dig_enabled &&
    link->link_enc->funcs->is_dig_enabled(link->link_enc) &&
    dc->hwss.power_down) {
    dc->hwss.power_down(dc);
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-15 23:15    [W:3.914 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site