[PATCH 1/3] cmd: smbios: show correct table size for SMBIOS2.1 entry point

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Feb 13 15:23:08 CET 2024


On Thu, 1 Feb 2024 at 02:20, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> The SMBIOS table size for SMBIOS2.1 entry points is in field 'Structure
> Table Length' (offset 0x16) and not in field 'Maximum Structure Size'
> (offset 0x08).
>
> Rename the receiving variable max_struct_size to table_maximum_size
> to avoid future confusion.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
>  cmd/smbios.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/cmd/smbios.c b/cmd/smbios.c
> index 95bdff6026..e2d82be163 100644
> --- a/cmd/smbios.c
> +++ b/cmd/smbios.c
> @@ -126,7 +126,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
>         static const char smbios_sig[] = "_SM_";
>         static const char smbios3_sig[] = "_SM3_";
>         size_t count = 0;
> -       u32 max_struct_size;
> +       u32 table_maximum_size;
>
>         addr = gd_smbios_start();
>         if (!addr) {
> @@ -142,7 +142,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
>                          entry3->major_ver, entry3->minor_ver, entry3->doc_rev);
>                 table = (void *)(uintptr_t)entry3->struct_table_address;
>                 size = entry3->length;
> -               max_struct_size = entry3->max_struct_size;
> +               table_maximum_size = entry3->max_struct_size;
>         } else if (!memcmp(entry, smbios_sig, sizeof(smbios_sig) - 1)) {
>                 struct smbios_entry *entry2 = entry;
>
> @@ -150,7 +150,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
>                          entry2->major_ver, entry2->minor_ver);
>                 table = (void *)(uintptr_t)entry2->struct_table_address;
>                 size = entry2->length;
> -               max_struct_size = entry2->max_struct_size;
> +               table_maximum_size = entry2->struct_table_length;
>         } else {
>                 log_err("Unknown SMBIOS anchor format\n");
>                 return CMD_RET_FAILURE;
> @@ -163,7 +163,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
>
>         for (struct smbios_header *pos = table; pos; pos = next_table(pos))
>                 ++count;
> -       printf("%zd structures occupying %d bytes\n", count, max_struct_size);
> +       printf("%zd structures occupying %d bytes\n", count, table_maximum_size);
>         printf("Table at 0x%llx\n", (unsigned long long)map_to_sysmem(table));
>
>         for (struct smbios_header *pos = table; pos; pos = next_table(pos)) {
> --
> 2.43.0
>

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>


More information about the U-Boot mailing list