From: Masahisa Kojima Date: Thu, 25 Jan 2024 01:11:28 +0000 (+0900) Subject: smbios: use struct_table_length to get SMBIOS 2.1 total table length X-Git-Url: http://git.dujemihanovic.xyz/login.html?a=commitdiff_plain;h=b92d0f78dc04f6f7dd8b67cb9ea1bc1dc3b51aa6;p=u-boot.git smbios: use struct_table_length to get SMBIOS 2.1 total table length The current code convert the SMBIOS 2.1 entry point structure to SMBIOS 3.0 entry point structure. The max_struct_size member in SMBIOS 2.1 entry point structure indicates "Size of the largest SMBIOS structure, in bytes". We need to use struct_table_length instead. Fixes: 1c5aab803c0b ("smbios: copy QEMU tables") Signed-off-by: Masahisa Kojima Reviewed-by: Heinrich Schuchardt --- diff --git a/drivers/misc/qfw_smbios.c b/drivers/misc/qfw_smbios.c index 9019345783..a898cb4eea 100644 --- a/drivers/misc/qfw_smbios.c +++ b/drivers/misc/qfw_smbios.c @@ -90,7 +90,7 @@ static int qfw_parse_smbios_anchor(struct udevice *dev, entry->length = sizeof(struct smbios3_entry); entry->major_ver = entry2->major_ver; entry->minor_ver = entry2->minor_ver; - entry->max_struct_size = entry2->max_struct_size; + entry->max_struct_size = entry2->struct_table_length; } else { ret = -ENOENT; goto out;