mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
drm/amdgpu: Fix vbios build number parsing logic
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.
Fixes: d6fa802661 ("drm/amdgpu: Add vbios build number interface")
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1502,7 +1502,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);
|
||||
@@ -1515,8 +1515,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)
|
||||
|
||||
Reference in New Issue
Block a user