On Thu, Sep 18, 2025 at 9:09 AM Lijo Lazar <lijo.la...@amd.com> wrote:
>
> It's not necessary that the build string and atom header section has a
> difference of 32 bytes. Use the remaining bytes in the section as copy
> limit.
>
> Signed-off-by: Lijo Lazar <lijo.la...@amd.com>

Acked-by: Alex Deucher <alexander.deuc...@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/atom.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c 
> b/drivers/gpu/drm/amd/amdgpu/atom.c
> index 1c994d0cc50b..7cc7aec1bff3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/atom.c
> +++ b/drivers/gpu/drm/amd/amdgpu/atom.c
> @@ -1498,7 +1498,7 @@ static void atom_get_vbios_build(struct atom_context 
> *ctx)
>  {
>         unsigned char *atom_rom_hdr;
>         unsigned char *str;
> -       uint16_t base;
> +       uint16_t base, len;
>
>         base = CU16(ATOM_ROM_TABLE_PTR);
>         atom_rom_hdr = CSTR(base);
> @@ -1511,8 +1511,9 @@ static void atom_get_vbios_build(struct atom_context 
> *ctx)
>         while (str < atom_rom_hdr && *str++)
>                 ;
>
> -       if ((str + STRLEN_NORMAL) < atom_rom_hdr)
> -               strscpy(ctx->build_num, str, STRLEN_NORMAL);
> +       len = min(atom_rom_hdr - str, STRLEN_NORMAL);
> +       if (len)
> +               strscpy(ctx->build_num, str, len);
>  }
>
>  struct atom_context *amdgpu_atom_parse(struct card_info *card, void *bios)
> --
> 2.49.0
>

Reply via email to