All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Thirupathaiah Annapureddy <thiruan@microsoft.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	Sasha Levin <sashal@kernel.org>,
	"peterhuewe@gmx.de" <peterhuewe@gmx.de>,
	"jgg@ziepe.ca" <jgg@ziepe.ca>, "corbet@lwn.net" <corbet@lwn.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-integrity@vger.kernel.org"
	<linux-integrity@vger.kernel.org>,
	Microsoft Linux Kernel List <linux-kernel@microsoft.com>,
	"Bryan Kelly (CSI)" <bryankel@microsoft.com>,
	"tee-dev@lists.linaro.org" <tee-dev@lists.linaro.org>,
	"sumit.garg@linaro.org" <sumit.garg@linaro.org>,
	"rdunlap@infradead.org" <rdunlap@infradead.org>
Subject: Re: [PATCH v7 1/2] fTPM: firmware TPM running in TEE
Date: Wed, 3 Jul 2019 09:58:13 +0300	[thread overview]
Message-ID: <20190703065813.GA12724@apalos> (raw)
In-Reply-To: <CY4PR21MB0279B99FB0097309ADE83809BCF80@CY4PR21MB0279.namprd21.prod.outlook.com>

Hi Thirupathaiah,
> 
> First of all, Thanks a lot for trying to test the driver. 
> 
np

[...]
> > I managed to do some quick testing in QEMU.
> > Everything works fine when i build this as a module (using IBM's TPM 2.0
> > TSS)
> > 
> > - As module
> > # insmod /lib/modules/5.2.0-rc1/kernel/drivers/char/tpm/tpm_ftpm_tee.ko
> > # getrandom -by 8
> > randomBytes length 8
> > 23 b9 3d c3 90 13 d9 6b
> > 
> > - Built-in
> > # dmesg | grep optee
> > ftpm-tee firmware:optee: ftpm_tee_probe:tee_client_open_session failed,
> > err=ffff0008
> This (0xffff0008) translates to TEE_ERROR_ITEM_NOT_FOUND.
> 
> Where is fTPM TA located in the your test setup? 
> Is it stitched into TEE binary as an EARLY_TA or 
> Is it expected to be loaded during run-time with the help of user mode OP-TEE supplicant?
> 
> My guess is that you are trying to load fTPM TA through user mode OP-TEE supplicant. 
> Can you confirm? 
I tried both

> If that is the true, 
> - In the case of driver built as a module (CONFIG_TCG_FTPM_TEE=m), this is works fine 
> as user mode supplicant is ready. 
> - In the built-in case (CONFIG_TCG_FTPM_TEE=y), 
> This would result in the above error 0xffff0008 as TEE is unable to find fTPM TA. 
Maybe i did something wrong and never noticed it wasn't built as an earlyTA

> 
> The expectation is that fTPM TA is built as an EARLY_TA (in BL32) so that
> U-boot and Linux driver stacks work seamlessly without dependency on supplicant.  
> 
You can add my tested-by tag for the module. I'll go back to testing it as
built-in at some point in real hardware and let you know if i have any issues.

If someone's is interested in the QEMU testing: 
1. compile this https://github.com/jbech-linaro/manifest/blob/ftpm/README.md
2. replace the whole linux kernel on the root-dir with a latest version + fTPM 
char driver
3. Apply a hack on kernel and disable dynamic shm (Need for this depends on 
kernel + op-tee version)

diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c
index 1854a3db..7aea8a5 100644
--- a/drivers/tee/optee/core.c
+++ b/drivers/tee/optee/core.c
@@ -588,13 +588,15 @@ static struct optee *optee_probe(struct device_node *np)
        /*
         * Try to use dynamic shared memory if possible
         */
+#if 0
        if (sec_caps & OPTEE_SMC_SEC_CAP_DYNAMIC_SHM)
                pool = optee_config_dyn_shm();
+#endif

        /*
         * If dynamic shared memory is not available or failed - try static one
         */
-       if (IS_ERR(pool) && (sec_caps & OPTEE_SMC_SEC_CAP_HAVE_RESERVED_SHM))
+       if (sec_caps & OPTEE_SMC_SEC_CAP_HAVE_RESERVED_SHM)
                pool = optee_config_shm_memremap(invoke_fn, &memremaped_shm);

        if (IS_ERR(pool))


For the module part:
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>

  reply	other threads:[~2019-07-03  6:58 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-25 20:13 [PATCH v7 0/2] fTPM: firmware TPM running in TEE Sasha Levin
2019-06-25 20:13 ` [PATCH v7 1/2] " Sasha Levin
2019-06-26 23:31   ` Jarkko Sakkinen
2019-06-26 23:56     ` Sasha Levin
2019-06-27 13:17       ` Jarkko Sakkinen
2019-06-27 13:19         ` Jarkko Sakkinen
2019-06-27 13:30         ` Ilias Apalodimas
2019-06-27 16:32           ` Jarkko Sakkinen
2019-07-02 14:21             ` Ilias Apalodimas
2019-07-02 16:54               ` Thirupathaiah Annapureddy
2019-07-03  6:58                 ` Ilias Apalodimas [this message]
2019-07-03  8:12                   ` Ilias Apalodimas
2019-07-03 10:03                     ` Sumit Garg
2019-07-03 14:16                       ` Joakim Bech
2019-07-04  6:28                     ` Thirupathaiah Annapureddy
2019-07-04 18:11                       ` Ilias Apalodimas
2019-07-05  2:40                         ` Thirupathaiah Annapureddy
2019-07-10 12:13                           ` Ilias Apalodimas
2019-06-28  5:50         ` Sumit Garg
2019-06-29 15:01     ` Sasha Levin
2019-07-04  9:20       ` Jarkko Sakkinen
2019-06-25 20:13 ` [PATCH v7 2/2] fTPM: add documentation for ftpm driver Sasha Levin
2019-06-25 23:13   ` Randy Dunlap
2019-06-26 23:34   ` Jarkko Sakkinen
2019-06-26 23:59     ` Sasha Levin

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=20190703065813.GA12724@apalos \
    --to=ilias.apalodimas@linaro.org \
    --cc=bryankel@microsoft.com \
    --cc=corbet@lwn.net \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=rdunlap@infradead.org \
    --cc=sashal@kernel.org \
    --cc=sumit.garg@linaro.org \
    --cc=tee-dev@lists.linaro.org \
    --cc=thiruan@microsoft.com \
    /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.