RE: [PATCH] drm/amd/display: Ensure HPD source index is valid for dcn20/dcn201 link encoders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Public]

Reviewed-by: Roman Li <roman.li@xxxxxxx>

> -----Original Message-----
> From: SHANMUGAM, SRINIVASAN <SRINIVASAN.SHANMUGAM@xxxxxxx>
> Sent: Wednesday, October 16, 2024 9:19 AM
> To: Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Pillai, Aurabindo
> <Aurabindo.Pillai@xxxxxxx>
> Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; SHANMUGAM, SRINIVASAN
> <SRINIVASAN.SHANMUGAM@xxxxxxx>; Chung, ChiaHsuan (Tom)
> <ChiaHsuan.Chung@xxxxxxx>; Li, Roman <Roman.Li@xxxxxxx>; Hung, Alex
> <Alex.Hung@xxxxxxx>; Wentland, Harry <Harry.Wentland@xxxxxxx>; Mahfooz,
> Hamza <Hamza.Mahfooz@xxxxxxx>
> Subject: [PATCH] drm/amd/display: Ensure HPD source index is valid for
> dcn20/dcn201 link encoders
>
> This patch adds a boundary check for the hpd_source index during the link encoder
> creation process for dcn20/dcn201 IP's. The check ensures that the index is within
> the valid range of the link_enc_hpd_regs array to prevent out-of-bounds access.
>
> Cc: Tom Chung <chiahsuan.chung@xxxxxxx>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx>
> Cc: Roman Li <roman.li@xxxxxxx>
> Cc: Alex Hung <alex.hung@xxxxxxx>
> Cc: Aurabindo Pillai <aurabindo.pillai@xxxxxxx>
> Cc: Harry Wentland <harry.wentland@xxxxxxx>
> Cc: Hamza Mahfooz <hamza.mahfooz@xxxxxxx>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@xxxxxxx>
> ---
>  drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c  | 2 +-
>  .../gpu/drm/amd/display/dc/resource/dcn201/dcn201_resource.c    | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
> b/drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
> index eea2b3b307cd..288189913e1e 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
> @@ -920,7 +920,7 @@ struct link_encoder *dcn20_link_encoder_create(
>               kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
>       int link_regs_id;
>
> -     if (!enc20)
> +     if (!enc20 || enc_init_data->hpd_source >=
> +ARRAY_SIZE(link_enc_hpd_regs))
>               return NULL;
>
>       link_regs_id =
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn201/dcn201_resource.c
> b/drivers/gpu/drm/amd/display/dc/resource/dcn201/dcn201_resource.c
> index fc54483b9104..15180ad71513 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dcn201/dcn201_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn201/dcn201_resource.c
> @@ -797,7 +797,7 @@ static struct link_encoder *dcn201_link_encoder_create(
>               kzalloc(sizeof(struct dcn20_link_encoder), GFP_ATOMIC);
>       struct dcn10_link_encoder *enc10;
>
> -     if (!enc20)
> +     if (!enc20 || enc_init_data->hpd_source >=
> +ARRAY_SIZE(link_enc_hpd_regs))
>               return NULL;
>
>       enc10 = &enc20->enc10;
> --
> 2.34.1





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux