[PATCH v2 1/8] tpm: fix the return code, if the eventlog buffer is full

Ilias Apalodimas ilias.apalodimas at linaro.org
Mon Jun 24 06:33:39 CEST 2024


Hi Simon,

On Mon, 24 Jun 2024 at 00:52, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Ilias,
>
> On Sun, 23 Jun 2024 at 05:48, Ilias Apalodimas
> <ilias.apalodimas at linaro.org> wrote:
> >
> > We currently return 'No space left on device' if the eventlong buffer
> > we allocated is not enough. On a similar check later on that function
> > during the call to tcg2_log_init() we return 'No buffer space
> > available'. So switch both error codes to -ENOBUFS since we are always
> > checking a buffer and not a device.
> >
> > Fixes: commit 97707f12fdab ("tpm: Support boot measurements")
> > Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> > Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> > ---
> >  lib/tpm-v2.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg at chromium.org>

Thanks

>
> For better or worse, we mostly use -ENOSPC for this sort of thing. But
> this will at least make the TPM error stand out.

The TCG spec is an EFI one. Since we moved that code to u-boots core
we had to convert the return values from efi to int etc. We need
mapping to be as precise as possible.
The reason I switched this to ENOBUFS is because it seemed more
appropriate. I just wanted that function to be coherent on the return
code, I can switch both errors to ENOSPC just as easily.

/Ilias
>
> >
> > diff --git a/lib/tpm-v2.c b/lib/tpm-v2.c
> > index a67daed2f3c1..91526af33acb 100644
> > --- a/lib/tpm-v2.c
> > +++ b/lib/tpm-v2.c
> > @@ -554,7 +554,7 @@ int tcg2_log_prepare_buffer(struct udevice *dev, struct tcg2_event_log *elog,
> >                 if (elog->log_size) {
> >                         if (log.found) {
> >                                 if (elog->log_size < log.log_position)
> > -                                       return -ENOSPC;
> > +                                       return -ENOBUFS;
> >
> >                                 /*
> >                                  * Copy the discovered log into the user buffer
> > --
> > 2.45.2
> >
>
> Regards,
> Simon


More information about the U-Boot mailing list