Re: [PATCH v4 1/2] fTPM: firmware TPM running in TEE

From: Ilias Apalodimas
Date: Fri Jun 14 2019 - 06:39:23 EST


Hi Sasha,
On Thu, Jun 13, 2019 at 01:11:41PM -0400, Sasha Levin wrote:
> On Wed, Jun 05, 2019 at 04:39:36PM +0530, Sumit Garg wrote:
> >On Wed, 5 Jun 2019 at 01:39, Sasha Levin <sashal@xxxxxxxxxx> wrote:
> >>
> >>On Tue, Jun 04, 2019 at 11:45:52AM +0530, Sumit Garg wrote:
> >>>On Thu, 30 May 2019 at 20:58, Sasha Levin <sashal@xxxxxxxxxx> wrote:
> >>>> + /* Open context with TEE driver */
> >>>> + pvt_data->ctx = tee_client_open_context(NULL, ftpm_tee_match, NULL,
> >>>> + NULL);
> >>>> + if (IS_ERR(pvt_data->ctx)) {
> >>>> + dev_err(dev, "%s:tee_client_open_context failed\n", __func__);
> >>>
> >>>Is this well tested? I see this misleading error multiple times as
> >>>follows although TEE driver works pretty well.
> >>
> >>Yes, this was all functionally tested.
I did test as well with a DeveloperBox, i can confirm the driver is loading (but
i have no fTPM support on the OP-TEE side for now)


apalos@mule:~>sudo dmesg | grep optee
[sudo] password for apalos:
[ 5.035801] optee: probing for conduit method from DT.
[ 5.041045] optee: revision 3.2 (53bf1c38)
[ 5.041772] optee: initialized driver
apalos@mule:~>sudo dmesg | grep tpm
[ 5.000674] ftpm-tee tpm@0: ftpm_tee_probe:tee_client_open_context failed
[ 5.101655] ftpm-tee tpm@0: ftpm_tee_probe:tee_client_open_session failed,
err=ffff000c
[ 5.109703] ftpm-tee: probe of tpm@0 failed with error -22


The error -22 is nice since the probe eventually failed (no fTPM support in
secure world). Can we slightly change the
'ftpm_tee_probe:tee_client_open_context failed' and indicate this is not a real
error since the probe gets deferred untill Secure world is alive?

By the way there is *real* interest for this functionality. I expect to run it
on a number of Arm boards once i get some free time.

> >Can you share your build instructions and testing approach?
>
> Yes: it looks like you got all the kernel bits, but not the firmware.
> There are instructions for it here: https://github.com/microsoft/ms-tpm-20-ref
>
> Once it's running, you can test it by running your favorite TPM usecases
> through /dev/tpm0.
>
> --
> Thanks,
> Sasha

Thanks
/Ilias