[PATCH] drm/amdgpu: fix UBSAN array-index-out-of-bounds for ras_block_string[]

Zhou1, Tao Tao.Zhou1 at amd.com
Wed Jan 17 06:34:45 UTC 2024


[AMD Official Use Only - General]

Reviewed-by: Tao Zhou <tao.zhou1 at amd.com>

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Yang
> Wang
> Sent: Tuesday, January 16, 2024 7:02 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Wang, Yang(Kevin) <KevinYang.Wang at amd.com>; Zhang, Hawking
> <Hawking.Zhang at amd.com>
> Subject: [PATCH] drm/amdgpu: fix UBSAN array-index-out-of-bounds for
> ras_block_string[]
>
> fix array index out of bounds issue for ras_block_string[] array.
>
> Fixes: 2e3675fe4e3ee ("drm/amdgpu: Align ras block enum with firmware")
>
> Signed-off-by: Yang Wang <kevinyang.wang at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> index ff6f84714f68..8004863719d0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
> @@ -74,6 +74,8 @@ const char *ras_block_string[] = {
>       "mca",
>       "vcn",
>       "jpeg",
> +     "ih",
> +     "mpio",
>  };
>
>  const char *ras_mca_block_string[] = {
> @@ -95,7 +97,8 @@ const char *get_ras_block_str(struct ras_common_if
> *ras_block)
>       if (!ras_block)
>               return "NULL";
>
> -     if (ras_block->block >= AMDGPU_RAS_BLOCK_COUNT)
> +     if (ras_block->block >= AMDGPU_RAS_BLOCK_COUNT ||
> +         ras_block->block >= ARRAY_SIZE(ras_block_string))
>               return "OUT OF RANGE";
>
>       if (ras_block->block == AMDGPU_RAS_BLOCK__MCA)
> --
> 2.34.1



More information about the amd-gfx mailing list