/* Check that the given log is indeed a TPM2 log. */ staticbool tpm_is_tpm2_log(void *bios_event_log, u64 len)
{ struct tcg_efi_specid_event_head *efispecid; struct tcg_pcr_event *event_header; int n;
if (len < sizeof(*event_header)) returnfalse;
len -= sizeof(*event_header);
event_header = bios_event_log;
if (len < sizeof(*efispecid)) returnfalse;
efispecid = (struct tcg_efi_specid_event_head *)event_header->event;
n = memcmp(efispecid->signature, TCG_SPECID_SIG, sizeof(TCG_SPECID_SIG)); return n == 0;
}
/* Unfortuntely ACPI does not associate the event log with a specific * TPM, like PPI. Thus all ACPI TPMs will read the same log.
*/ if (!chip->acpi_dev_handle) return -ENODEV;
if (chip->flags & TPM_CHIP_FLAG_TPM2) {
status = acpi_get_table("TPM2", 1,
(struct acpi_table_header **)&tbl); if (ACPI_FAILURE(status)) return -ENODEV;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.