[PATCH 2/2] tpm: get tpm event log from bloblist
Raymond Mao
raymond.mao at linaro.org
Mon Dec 16 15:52:10 CET 2024
Hi Simon,
On Sun, 15 Dec 2024 at 19:25, Simon Glass <sjg at chromium.org> wrote:
> Hi Raymond,
>
> On Fri, 13 Dec 2024 at 15:56, Raymond Mao <raymond.mao at linaro.org> wrote:
> >
> > Get tpm event log from bloblist instead of FDT when bloblist is
> > enabled and valid from previous boot stage.
> >
> > Note:
> > This patch depends on:
> > [PATCH 1/2] bloblist: Introduce BLOBLIST_PRIOR_STAGE options
> >
> https://lore.kernel.org/u-boot/20241212151142.1562825-1-trini@konsulko.com/
> >
> > Signed-off-by: Raymond Mao <raymond.mao at linaro.org>
> > ---
> > lib/tpm_tcg2.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/lib/tpm_tcg2.c b/lib/tpm_tcg2.c
> > index 7f868cc883..acaf0acb88 100644
> > --- a/lib/tpm_tcg2.c
> > +++ b/lib/tpm_tcg2.c
> > @@ -19,6 +19,7 @@
> > #include <linux/unaligned/generic.h>
> > #include <linux/unaligned/le_byteshift.h>
> > #include "tpm-utils.h"
> > +#include <bloblist.h>
> >
> > int tcg2_get_pcr_info(struct udevice *dev, u32 *supported_pcr, u32
> *active_pcr,
> > u32 *pcr_banks)
> > @@ -672,6 +673,12 @@ __weak int tcg2_platform_get_log(struct udevice
> *dev, void **addr, u32 *size)
> > *addr = NULL;
> > *size = 0;
> >
> > + if (CONFIG_IS_ENABLED(BLOBLIST_PRIOR_STAGE) &&
> !bloblist_maybe_init()) {
>
> Please drop the second term...the bloblist is inited by U-Boot already.
>
>
As an independent library, from the tpm library's angle, whether the
bloblist init was already called or not is agnostic.
I think this is the purpose of the "maybe" function.
> Also please drop the first term. If you find it in the bloblist, just use
> it.
>
>
I think here we should have the same logic as the existing one in fdtdec:
If bloblist is not enabled or errors observed, do a fallback to the
original process.
At least I want to keep the same logic in different places before
everything is ready from TF-A to U-boot.
[snip]
Regards,
Raymond
More information about the U-Boot
mailing list