[Public] Reviewed-by: Roman Li <roman.li@xxxxxxx> > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Srinivasan Shanmugam > Sent: Tuesday, February 6, 2024 11:55 PM > To: Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Pillai, Aurabindo > <Aurabindo.Pillai@xxxxxxx> > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; SHANMUGAM, SRINIVASAN > <SRINIVASAN.SHANMUGAM@xxxxxxx>; Wentland, Harry > <Harry.Wentland@xxxxxxx>; Deucher, Alexander > <Alexander.Deucher@xxxxxxx> > Subject: [PATCH] drm/amd/display: Fix possible use of uninitialized > 'max_chunks_fbc_mode' in 'calculate_bandwidth()' > > 'max_chunks_fbc_mode' is only declared and assigned a value under a specific > condition in the following lines: > > if (data->fbc_en[i] == 1) { > max_chunks_fbc_mode = 128 - dmif_chunk_buff_margin; } > > If 'data->fbc_en[i]' is not equal to 1 for any i, max_chunks_fbc_mode will not > be initialized if it's used outside of this for loop. > > Ensure that 'max_chunks_fbc_mode' is properly initialized before it's used. > Initialize it to a default value right after its declaration to ensure that it gets a > value assigned under all possible control flow paths. > > Thus fixing the below: > drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dce_calcs.c:914 > calculate_bandwidth() error: uninitialized symbol 'max_chunks_fbc_mode'. > drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dce_calcs.c:917 > calculate_bandwidth() error: uninitialized symbol 'max_chunks_fbc_mode'. > > Fixes: 4562236b3bc0 ("drm/amd/dc: Add dc display driver (v2)") > Cc: Harry Wentland <harry.wentland@xxxxxxx> > Cc: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx> > Cc: Aurabindo Pillai <aurabindo.pillai@xxxxxxx> > Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@xxxxxxx> > --- > drivers/gpu/drm/amd/display/dc/basics/dce_calcs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/basics/dce_calcs.c > b/drivers/gpu/drm/amd/display/dc/basics/dce_calcs.c > index f2dfa96f9ef5..39530b2ea495 100644 > --- a/drivers/gpu/drm/amd/display/dc/basics/dce_calcs.c > +++ b/drivers/gpu/drm/amd/display/dc/basics/dce_calcs.c > @@ -94,7 +94,7 @@ static void calculate_bandwidth( > const uint32_t s_high = 7; > const uint32_t dmif_chunk_buff_margin = 1; > > - uint32_t max_chunks_fbc_mode; > + uint32_t max_chunks_fbc_mode = 0; > int32_t num_cursor_lines; > > int32_t i, j, k; > -- > 2.34.1