[PATCH v3 1/3] efi_loader: add SMBIOS table measurement
sjg at chromium.org
Fri Oct 1 17:23:33 CEST 2021
On Fri, 1 Oct 2021 at 05:19, Masahisa Kojima <masahisa.kojima at linaro.org> wrote:
> TCG PC Client spec requires to measure the SMBIOS
> table that contain static configuration information
> (e.g. Platform Manufacturer Enterprise Number assigned by IANA,
> platform model number, Vendor and Device IDs for each SMBIOS table).
> The device- and environment-dependent information such as
> serial number is cleared to zero or space character for
> the measurement.
> Existing smbios_string() function returns pointer to the string
> with const qualifier, but exisintg use case is updating version
> string and const qualifier must be removed.
> This commit removes const qualifier from smbios_string()
> return value and reuses to clear the strings for the measurement.
> This commit also fixes the following compiler warning:
> lib/smbios-parser.c:59:39: warning: cast to pointer from integer of
> different size [-Wint-to-pointer-cast]
> const struct smbios_header *header = (struct smbios_header *)entry->struct_table_address;
> Signed-off-by: Masahisa Kojima <masahisa.kojima at linaro.org>
> Changes in v3:
> - TCG spec says EV_SEPARATOR must be the last,
> swap the order of measurement
> Changes in v2:
> - use flexible array for table_entry field
> - modify funtion name to find_smbios_table()
> - remove unnecessary const qualifier from smbios_string()
> - create non-const version of next_header()
> include/efi_loader.h | 2 +
> include/efi_tcg2.h | 15 ++++
> include/smbios.h | 17 +++-
> lib/efi_loader/Kconfig | 1 +
> lib/efi_loader/efi_boottime.c | 2 +
> lib/efi_loader/efi_smbios.c | 2 -
> lib/efi_loader/efi_tcg2.c | 84 +++++++++++++++++++
> lib/smbios-parser.c | 152 +++++++++++++++++++++++++++++++---
> 8 files changed, 261 insertions(+), 14 deletions(-)
As part of this work, can you or someone else at Linaro please add
tests for the SMBIOS code?
Also as mentioned in the previous version, we should have tests for
this. Ilias suggested what needs to be added to the sandbox emulator.
More information about the U-Boot