All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	U-Boot Mailing List <u-boot@lists.denx.de>,
	 Peter Robinson <pbrobinson@gmail.com>
Subject: Re: sandbox TPM
Date: Thu, 2 Sep 2021 10:41:14 -0600	[thread overview]
Message-ID: <CAPnjgZ2vtcjtqO=n_t-mAPhoQ94oEvrG+-NqfVhgJXtepyyV-g@mail.gmail.com> (raw)
In-Reply-To: <094f53fa-b96c-0823-bcce-ddb1653a3ca2@gmx.de>

Hi Heinrich,

On Mon, 30 Aug 2021 at 01:34, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>
>
>
> On 8/30/21 8:10 AM, Ilias Apalodimas wrote:
> > On Sun, 29 Aug 2021 at 13:53, Peter Robinson <pbrobinson@gmail.com> wrote:
> >>
> >> On Sat, Aug 28, 2021 at 10:19 PM Simon Glass <sjg@chromium.org> wrote:
> >>>
> >>> Hi Heinrich,
> >>>
> >>> On Sat, 28 Aug 2021 at 06:18, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> >>>>
> >>>> The current TPM emulation in drivers/tpm/tpm(2)_tis_sandbox.c is not
> >>>> spec compliant.
>
> @Simon
> Just have look at the bunch of TPM related error messages generated on
> the sandbox:
>
> => host bind 0 ../sandbox.img
> => load host 0:1 $kernel_addr_r EFI/grub/shimriscv64.efi
> 755200 bytes read in 5 ms (144 MiB/s)
> => bootefi $kernel_addr_r
> Scanning disk mmc2.blk...
> No valid Btrfs found
> Bad magic number for SquashFS image.
> ** Unrecognized filesystem type **
> Scanning disk mmc1.blk...
> No valid Btrfs found
> Bad magic number for SquashFS image.
> ** Unrecognized filesystem type **
> Scanning disk mmc0.blk...
> No valid Btrfs found
> Bad magic number for SquashFS image.
> ** Unrecognized filesystem type **
> Scanning disk host0...
> Found 5 disks
> Cannot install EFI_TCG2_PROTOCOL <<<<<<<<<<<<<<<<<<<<<<<<<<<
> "dfu_alt_info" env variable not defined!
> Probably dfu_alt_info not defined
> "dfu_alt_info" env variable not defined!
> Probably dfu_alt_info not defined
> Booting /EFI\grub\shimriscv64.efi
> PE image measurement failed <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> .sbat copied to 0x000000002ca7b000
> .sbat =
> sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
> shim,1,UEFI shim,shim,1,https://github.com/rhboot/shim
>
> tcg2 measurement fails(0x8000000000000007)  <<<<<<<<<<<<<<<<

OK...then I wonder what it would take to improve the sandbox TPM
driver enough for these to pass? We have to think about cost/benefit
of the amount of code we are bringing in, debugability, etc.

>
>
> >>>
> >>> Do you mean it is incomplete or that it has bugs? If it is incomplete,
> >>> what is needed by U-Boot?
> >
> >>>
> >>>>
> >>>> A TPM emulation as UNIX socket exists with
> >>>> https://github.com/stefanberger/swtpm.git. QEMU already uses this emulator.
> >>>>
> >>>> Couldn't the sandbox do the same? I think this is the fastest way to get
> >>>> a compliant sandbox TPM.
> >>>
> >>> Well we could if we need it. Are you sure it is a good idea? There is
> >>> a lot of code there. Are you thinking it would be copied into the
> >>> U-Boot tree and kept in sync with a script, perhaps? Presumably the
> >>> project would accept changes we need?
> >>
> >> qemu doesn't copy it in, why can't it just run independently as part
> >> of the CI process? The rust TPM2 bindings do that here:
> >> https://github.com/parallaxsecond/rust-tss-esapi/blob/main/tss-esapi/tests/all-fedora.sh#L13
> >
> > Keep in mind this is exposed as an MMIIO device. I did send a driver
> > for it a while back [1].  In case we decide to use this, we can
> > probably re-use that
> >
> > [1] https://lore.kernel.org/u-boot/20210707162604.84196-1-ilias.apalodimas@linaro.org/
> >
> > Regards
> > /Ilias
> >
>
> Currently we don't test measured boot. I would prefer the tests to run
> on the sandbox and not in QEMU. This makes debugging much easier.

I couldn't agree more; development also.

Regards,
Simon

      reply	other threads:[~2021-09-02 16:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-28 12:18 sandbox TPM Heinrich Schuchardt
2021-08-28 21:19 ` Simon Glass
2021-08-29 10:53   ` Peter Robinson
2021-08-30  6:10     ` Ilias Apalodimas
2021-08-30  7:34       ` Heinrich Schuchardt
2021-09-02 16:41         ` Simon Glass [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPnjgZ2vtcjtqO=n_t-mAPhoQ94oEvrG+-NqfVhgJXtepyyV-g@mail.gmail.com' \
    --to=sjg@chromium.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=pbrobinson@gmail.com \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.