On Wed, Nov 14, 2018 at 04:31:03PM +0100, Roberto Sassu wrote: > tcg_efi_specid_event and tcg_pcr_event2 declaration contains static arrays > for a list of hash algorithms used for event logs and event log digests. > > However, according to TCG EFI Protocol Specification, these arrays have > variable sizes. Setting the array size to zero or 3 does not make any > difference, because the parser has to adjust the offset depending on the > actual array size to access structure members after the static arrays. > > Thus, this patch removes the declaration of TPM2_ACTIVE_PCR_BANKS and sets > the array size to zero. > > Fixes: 4d23cc323cdb ("tpm: add securityfs support for TPM 2.0 firmware > event log") > > Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxxx> > --- > include/linux/tpm_eventlog.h | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/include/linux/tpm_eventlog.h b/include/linux/tpm_eventlog.h > index 20d9da77fc11..3d5d162f09cc 100644 > --- a/include/linux/tpm_eventlog.h > +++ b/include/linux/tpm_eventlog.h > @@ -8,7 +8,6 @@ > #define TCG_EVENT_NAME_LEN_MAX 255 > #define MAX_TEXT_EVENT 1000 /* Max event string length */ > #define ACPI_TCPA_SIG "TCPA" /* 0x41504354 /'TCPA' */ > -#define TPM2_ACTIVE_PCR_BANKS 3 > > #define EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 0x1 > #define EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 0x2 > @@ -90,7 +89,7 @@ struct tcg_efi_specid_event { > u8 spec_errata; > u8 uintnsize; > u32 num_algs; > - struct tcg_efi_specid_event_algs digest_sizes[TPM2_ACTIVE_PCR_BANKS]; > + struct tcg_efi_specid_event_algs digest_sizes[0]; > u8 vendor_info_size; > u8 vendor_info[0]; > } __packed; > @@ -117,7 +116,7 @@ struct tcg_pcr_event2 { > u32 pcr_idx; > u32 event_type; > u32 count; > - struct tpm2_digest digests[TPM2_ACTIVE_PCR_BANKS]; > + struct tpm2_digest digests[0]; > struct tcg_event_field event; > } __packed; > > -- > 2.17.1 > NAK for the same reason as last time. /Jarkko