From 7cf67f22fdb1b8ab711c9cf43b7135b2e1435c22 Mon Sep 17 00:00:00 2001 From: Dennis Chen Date: Wed, 8 Nov 2017 09:28:49 +0000 Subject: [PATCH] Fix the build issue in TPM module The original code use deprecated 'Event' data structure with the wrong member variable names, which result in the build error. This patch fix it by using 'TCG_PCR_EVENT'. Signed-off-by: Dennis Chen --- grub-core/kern/efi/tpm.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/grub-core/kern/efi/tpm.c b/grub-core/kern/efi/tpm.c index c9fb3c133..7af07ddb5 100644 --- a/grub-core/kern/efi/tpm.c +++ b/grub-core/kern/efi/tpm.c @@ -175,7 +175,7 @@ grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, grub_size_t size, grub_uint8_t pcr, const char *description) { - Event *event; + TCG_PCR_EVENT *event; grub_efi_status_t status; grub_efi_tpm_protocol_t *tpm; grub_efi_physical_address_t lastevent; @@ -188,18 +188,18 @@ grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, if (!grub_tpm_present(tpm)) return 0; - event = grub_zalloc(sizeof (Event) + grub_strlen(description) + 1); + event = grub_zalloc(sizeof (TCG_PCR_EVENT) + grub_strlen(description) + 1); if (!event) return grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("cannot allocate TPM event buffer")); - event->pcrindex = pcr; - event->eventtype = EV_IPL; - event->eventsize = grub_strlen(description) + 1; - grub_memcpy(event->event, description, event->eventsize); + event->PCRIndex = pcr; + event->EventType = EV_IPL; + event->EventSize = grub_strlen(description) + 1; + grub_memcpy(event->Event, description, event->EventSize); algorithm = TCG_ALG_SHA; - status = efi_call_7 (tpm->log_extend_event, tpm, buf, (grub_uint64_t) size, + status = efi_call_7 (tpm->log_extend_event, tpm, (grub_efi_physical_address_t)buf, (grub_uint64_t) size, algorithm, event, &eventnum, &lastevent); switch (status) { @@ -245,7 +245,7 @@ grub_tpm2_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf, event->Size = sizeof(*event) - sizeof(event->Event) + grub_strlen(description) + 1; grub_memcpy(event->Event, description, grub_strlen(description) + 1); - status = efi_call_5 (tpm->hash_log_extend_event, tpm, 0, buf, + status = efi_call_5 (tpm->hash_log_extend_event, tpm, 0, (grub_efi_physical_address_t)buf, (grub_uint64_t) size, event); switch (status) {