From: Gregory Price Date: Fri, 13 Sep 2024 23:19:54 +0000 (-0400) Subject: libstub,tpm: do not ignore failure case when reading final event log X-Git-Tag: v6.13-rc1~146^2~9 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=63971b0f51faff0ff844a85d297e27861555c328;p=linux-block.git libstub,tpm: do not ignore failure case when reading final event log Current code fails to check for an error case when reading events from final event log to calculate offsets. Check the error case, and break early because all subsequent calls will also fail. Signed-off-by: Gregory Price Signed-off-by: Ard Biesheuvel --- diff --git a/drivers/firmware/efi/libstub/tpm.c b/drivers/firmware/efi/libstub/tpm.c index d31ea3f351d8..a5c6c4f163fc 100644 --- a/drivers/firmware/efi/libstub/tpm.c +++ b/drivers/firmware/efi/libstub/tpm.c @@ -124,6 +124,9 @@ static void efi_retrieve_tcg2_eventlog(int version, efi_physical_addr_t log_loca event_size = __calc_tpm2_event_size(header, (void *)(long)log_location, false); + /* If calc fails this is a malformed log */ + if (!event_size) + break; final_events_size += event_size; i--; }