[PATCH] amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table()

Alex Deucher alexdeucher at gmail.com
Tue Nov 15 14:48:41 UTC 2022


Applied.  Thanks!

Alex

On Tue, Nov 15, 2022 at 7:57 AM Dan Carpenter <error27 at gmail.com> wrote:
>
> In the PP_OD_EDIT_VDDC_CURVE case the "input_index" variable is capped at
> 2 but not checked for negative values so it results in an out of bounds
> read.  This value comes from the user via sysfs.
>
> Fixes: d5bf26539494 ("drm/amd/powerplay: added vega20 overdrive support V3")
> Signed-off-by: Dan Carpenter <error27 at gmail.com>
> ---
>  drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c
> index 97b3ad369046..b30684c84e20 100644
> --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c
> +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c
> @@ -2961,7 +2961,8 @@ static int vega20_odn_edit_dpm_table(struct pp_hwmgr *hwmgr,
>                         data->od8_settings.od8_settings_array;
>         OverDriveTable_t *od_table =
>                         &(data->smc_state_table.overdrive_table);
> -       int32_t input_index, input_clk, input_vol, i;
> +       int32_t input_clk, input_vol, i;
> +       uint32_t input_index;
>         int od8_id;
>         int ret;
>
> --
> 2.35.1
>


More information about the dri-devel mailing list