[PATCH] drm/amd/display: Fix variable deferencing before NULL check in edp_setup_replay()
SRINIVASAN SHANMUGAM
srinivasan.shanmugam at amd.com
Mon Jan 8 16:40:43 UTC 2024
On 1/8/2024 9:58 PM, Aurabindo Pillai wrote:
>
>
> On 2024-01-08 11:19, Srinivasan Shanmugam wrote:
>> In edp_setup_replay(), 'struct dc *dc' & 'struct dmub_replay *replay'
>> was dereferenced before the pointer 'link' & 'replay' NULL check.
>>
>> Fixes the below:
>> drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_edp_panel_control.c:947
>> edp_setup_replay() warn: variable dereferenced before check 'link'
>> (see line 933)
>>
>> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha at amd.com>
>> Cc: Harry Wentland <harry.wentland at amd.com>
>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
>> Cc: Aurabindo Pillai <aurabindo.pillai at amd.com>
>> Cc: Alex Deucher <alexander.deucher at amd.com>
>> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
>> ---
>> .../dc/link/protocols/link_edp_panel_control.c | 11 +++++++----
>> 1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git
>> a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
>> b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
>> index 7f1196528218..046d3e205415 100644
>> ---
>> a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
>> +++
>> b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
>> @@ -930,8 +930,8 @@ bool edp_get_replay_state(const struct dc_link
>> *link, uint64_t *state)
>> bool edp_setup_replay(struct dc_link *link, const struct
>> dc_stream_state *stream)
>> {
>> /* To-do: Setup Replay */
>> - struct dc *dc = link->ctx->dc;
>> - struct dmub_replay *replay = dc->res_pool->replay;
>> + struct dc *dc;
>> + struct dmub_replay *replay;
>> int i;
>> unsigned int panel_inst;
>> struct replay_context replay_context = { 0 };
>> @@ -947,6 +947,10 @@ bool edp_setup_replay(struct dc_link *link,
>> const struct dc_stream_state *stream
>> if (!link)
>> return false;
>> + dc = link->ctx->dc;
>> +
>> + replay = dc->res_pool->replay;
>> +
>> if (!replay)
>> return false;
>> @@ -975,8 +979,7 @@ bool edp_setup_replay(struct dc_link *link,
>> const struct dc_stream_state *stream
>> replay_context.line_time_in_ns = lineTimeInNs;
>> - if (replay)
>> - link->replay_settings.replay_feature_enabled =
>> + link->replay_settings.replay_feature_enabled =
>> replay->funcs->replay_copy_settings(replay, link,
>> &replay_context, panel_inst);
>> if (link->replay_settings.replay_feature_enabled) {
>
> Please add Cc: stable at vger.kernel.org in description.
Sure Jay!, thanks for reviews! will add this in description.
Best regards,
Srini
>
> Reviewed-by: Aurabindo Pillai <aurabindo.pillai at amd.com>
More information about the amd-gfx
mailing list