Current code fails to check for an error case when reading events from final event log to calculate offsets. Check the error case, report the error, and break early because all subsequent calls will also fail. Signed-off-by: Gregory Price <gourry@xxxxxxxxxx> --- drivers/firmware/efi/libstub/tpm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/firmware/efi/libstub/tpm.c b/drivers/firmware/efi/libstub/tpm.c index 4f9f0e049a7a..c71b0d3e66d2 100644 --- a/drivers/firmware/efi/libstub/tpm.c +++ b/drivers/firmware/efi/libstub/tpm.c @@ -124,6 +124,10 @@ 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 (!event_size) { + efi_err("Invalid TPM Final Event Log Entry\n"); + break; + } final_events_size += event_size; i--; } -- 2.43.0