Re: [PATCH 3/6] libstub,tpm: provide indication of failure when getting event log

Gregory Price
2024-09-13T12:58:29Z

On Fri, Sep 13, 2024 at 09:59:03AM +0300, Ilias Apalodimas wrote:
> Hi Gregory,
>
> On Fri, 6 Sept 2024 at 23:28, Gregory Price <gourry@gourry.net> wrote:
> >
> > If get_event_log fails, at least provide an indicator of this failure
> > to assist debugging later failures that attempt to interact with it.
> >
> > Signed-off-by: Gregory Price <gourry@gourry.net>
> > ---
> > drivers/firmware/efi/libstub/tpm.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/firmware/efi/libstub/tpm.c b/drivers/firmware/efi/libstub/tpm.c
> > index df3182f2e63a..192914e04e0f 100644
> > --- a/drivers/firmware/efi/libstub/tpm.c
> > +++ b/drivers/firmware/efi/libstub/tpm.c
> > @@ -185,8 +185,10 @@ void efi_retrieve_eventlog(void)
> > get_efi_config_table(EFI_CC_FINAL_EVENTS_TABLE_GUID);
> > }
> >
> > - if (status != EFI_SUCCESS || !log_location)
> > + if (status != EFI_SUCCESS || !log_location) {
> > + efi_err("TPM unable to provide Event Log\n");
>
> s/provide/retrieve/ and yes the print is going to be useful. Do you
> know if the EventLog is mandatory. Reading at the spec GetEventlog
> only has 2 return values, which implies you can't return "Not
> supported", but it's not explicitly stated anywhere
>

I believe it is mandatory from my reading of the spec - but the
"Final Event Log" was only added in 2.0. We report an error when
2.0 is reported but the final event log is not supported, so i figure
we should probably report when the event log fails as well.

> Thanks
> /Ilias
> > return;
> > + }
> >
> > efi_retrieve_tcg2_eventlog(version, log_location, log_last_entry,
> > truncated, final_events_table);
> > --
> > 2.43.0
> >