Hi,
OP-TEE Contributions (LOC) monthly meeting is planned for Thursday April 28
@17.00 (UTC + 2).
We have following on the agenda
- Fault Mitigation patterns in OP-TEE - Jens Wiklander
If you have any more topics you'd like to discuss, please let us know and
we can schedule them.
Meeting details:
---------------
Date/time: April 28(a)17.00 (UTC + 2)
https://everytimezone.com/s/700b9d66
Connection details: https://www.trustedfirmware.org/meetings/
Meeting notes: http://bit.ly/loc-notes
Regards,
Ruchika on behalf of the Linaro OP-TEE team
Hi all,
This patchset optimizes handling of the argument struct passed to
call_with_arg when doing a yielding call to OP-TEE.
Prior to this was this struct allocated before the yielding call and
then freed after it had returned. In case many calls are made in succession
this results in quite a bit of unnecessary allocte/free and possibly also
switching back and forth to secure work in order to register if needed.
Another optimization handles the way the argument struct needed to do RPC
is passed. Please see the patch "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG" for details.
Thanks,
Jens
v1->v2:
* Split out a separate commit "optee: rename rpc_arg_count to
rpc_param_count"
* Check optee->rpc_param_count before calling optee_disable_shm_cache().
* Mention OPTEE_SMC_CALL_WITH_REGD_ARG in commit message.
v2->v3:
* Applied Sumit's R-B to "optee: rename rpc_arg_count to rpc_param_count"
and "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_REGD_ARG"
* Fixed some review comments to "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG"
* Rebased on v5.18-rc1
Jens Wiklander (4):
optee: rename rpc_arg_count to rpc_param_count
optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG
optee: add FF-A capability OPTEE_FFA_SEC_CAP_ARG_OFFSET
optee: cache argument shared memory structs
drivers/tee/optee/call.c | 238 ++++++++++++++++++++++++------
drivers/tee/optee/core.c | 1 +
drivers/tee/optee/ffa_abi.c | 36 +++--
drivers/tee/optee/optee_ffa.h | 12 +-
drivers/tee/optee/optee_private.h | 31 +++-
drivers/tee/optee/optee_smc.h | 48 +++++-
drivers/tee/optee/smc_abi.c | 162 +++++++++++++++-----
7 files changed, 428 insertions(+), 100 deletions(-)
--
2.31.1
Hello arm-soc maintainers,
Please pull this small OP-TEE driver fix for the error handling path in
the FF-A probe function.
Thanks,
Jens
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
git://git.linaro.org/people/jens.wiklander/linux-tee.git tags/optee-fix-for-v5.18
for you to fetch changes up to b5e22886839ae466fcf03295150094516c0fd8eb:
tee: optee: add missing mutext_destroy in optee_ffa_probe (2022-04-05 08:56:26 +0200)
----------------------------------------------------------------
OP-TEE fix missing mutex_destroy in probe error handling path
----------------------------------------------------------------
Dongliang Mu (1):
tee: optee: add missing mutext_destroy in optee_ffa_probe
drivers/tee/optee/ffa_abi.c | 1 +
1 file changed, 1 insertion(+)
Hi all,
This patchset optimizes handling of the argument struct passed to
call_with_arg when doing a yielding call to OP-TEE.
Prior to this was this struct allocated before the yielding call and
then freed after it had returned. In case many calls are made in succession
this results in quite a bit of unnecessary allocte/free and possibly also
switching back and forth to secure work in order to register if needed.
Another optimization handles the way the argument struct needed to do RPC
is passed. Please see the patch "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG" for details.
This patchset is based the next branch [1] in my kernel to avoid conflict
with other recent patches.
Thanks,
Jens
[1] https://git.linaro.org/people/jens.wiklander/linux-tee.git/log/?h=next
v1->v2:
* Split out a separate commit "optee: rename rpc_arg_count to
rpc_param_count"
* Check optee->rpc_param_count before calling optee_disable_shm_cache().
* Mention OPTEE_SMC_CALL_WITH_REGD_ARG in commit message.
Jens Wiklander (4):
optee: rename rpc_arg_count to rpc_param_count
optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG
optee: add FF-A capability OPTEE_FFA_SEC_CAP_ARG_OFFSET
optee: cache argument shared memory structs
drivers/tee/optee/call.c | 238 ++++++++++++++++++++++++------
drivers/tee/optee/core.c | 1 +
drivers/tee/optee/ffa_abi.c | 36 +++--
drivers/tee/optee/optee_ffa.h | 12 +-
drivers/tee/optee/optee_private.h | 31 +++-
drivers/tee/optee/optee_smc.h | 47 +++++-
drivers/tee/optee/smc_abi.c | 162 +++++++++++++++-----
7 files changed, 427 insertions(+), 100 deletions(-)
--
2.31.1
[BCC all OP-TEE maintainers]
Hi OP-TEE maintainers & contributors,
OP-TEE v3.17.0 is scheduled to be released on 2022-04-22. So, now is a
good time to start testing the master branch on the various platforms
and report/fix any bugs.
The GitHub pull request for collecting Tested-by tags or any other
comments is https://github.com/OP-TEE/optee_os/pull/5229
As usual, we will create a release candidate tag one week before the
release date for final testing.
In addition to that you can find some additional information related
to releases here:
https://optee.readthedocs.io/en/latest/general/releases.html
Thanks,
--
Jerome
Hi all,
This patchset optimizes handling of the argument struction passed to
call_with_arg when doing a yielding call to OP-TEE.
Prior to this was this structure allocated before the yielding call and
then freed after it had returned. In case many calls are made in succession
this results in quite a bit of unncesary allocte/free and possibly also
switching back and forth to secure work in order to register if needed.
Another optimization handles the way the argument struct needed to do RPC
is passed. Please see the patch "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG"
for details.
This patchset is based the next branch [1] in my kernel to avoid conflict
with other recent patches.
Thanks,
Jens
[1] https://git.linaro.org/people/jens.wiklander/linux-tee.git/log/?h=next
Jens Wiklander (3):
optee: add OPTEE_SMC_CALL_WITH_RPC_ARG
optee: add FF-A capability OPTEE_FFA_SEC_CAP_ARG_OFFSET
optee: cache argument shared memory structs
drivers/tee/optee/call.c | 238 ++++++++++++++++++++++++------
drivers/tee/optee/core.c | 1 +
drivers/tee/optee/ffa_abi.c | 36 +++--
drivers/tee/optee/optee_ffa.h | 12 +-
drivers/tee/optee/optee_private.h | 31 +++-
drivers/tee/optee/optee_smc.h | 47 +++++-
drivers/tee/optee/smc_abi.c | 151 +++++++++++++++----
7 files changed, 419 insertions(+), 97 deletions(-)
--
2.31.1
From: Dongliang Mu <mudongliangabcd(a)gmail.com>
The error handling code of optee_ffa_probe misses the mutex_destroy of
ffa.mutex when mutext_init succeeds.
Fix this by adding mutex_destory of ffa.mutex at the error handling part
Fixes: aceeafefff73 ("optee: use driver internal tee_context for some rpc")
Signed-off-by: Dongliang Mu <mudongliangabcd(a)gmail.com>
---
drivers/tee/optee/ffa_abi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/tee/optee/ffa_abi.c b/drivers/tee/optee/ffa_abi.c
index f744ab15bf2c..30a6119a2b16 100644
--- a/drivers/tee/optee/ffa_abi.c
+++ b/drivers/tee/optee/ffa_abi.c
@@ -894,6 +894,7 @@ static int optee_ffa_probe(struct ffa_device *ffa_dev)
rhashtable_free_and_destroy(&optee->ffa.global_ids, rh_free_fn, NULL);
optee_supp_uninit(&optee->supp);
mutex_destroy(&optee->call_queue.mutex);
+ mutex_destroy(&optee->ffa.mutex);
err_unreg_supp_teedev:
tee_device_unregister(optee->supp_teedev);
err_unreg_teedev:
--
2.25.1
Hi all,
Please be advised that the Mbed TLS GitHub migration is complete. The new home for Mbed TLS is:
https://github.com/Mbed-TLS
We recommend updating your project, checkouts, etc to point at the new repository, but it's not urgent as everything will continue to work for some time via automatic redirection.
Also please note that our project boards, which we use for planning upcoming work via epics, and tracking current activity, have moved. They are now available here:
Epics board: https://github.com/orgs/Mbed-TLS/projects/1
Current activity: https://github.com/orgs/Mbed-TLS/projects/2
Thanks
Dave Rodgman
On 22/03/2022, 14:52, "Dave Rodgman via Mbed-tls-announce" <mbed-tls-announce(a)lists.trustedfirmware.org> wrote:
Hi all,
Please note that in the next couple of weeks, we will migrate Mbed TLS to a new GitHub organisation. Your existing scripts, links etc for accessing Mbed TLS on GitHub should not be affected.
This will change the url from https://github.com/ARMmbed/mbedtls to https://github.com/Mbed-TLS/mbedtls . GitHub will redirect any accesses to the old URL for the foreseeable future, but we would recommend updating your links once the migration is complete.
All of the Mbed TLS repositories will migrate to this new organisation, i.e.:
mbedtls
mbedtls-docs
mbedtls-test
Thanks
Dave Rodgman
--
Mbed-tls-announce mailing list -- mbed-tls-announce(a)lists.trustedfirmware.org
To unsubscribe send an email to mbed-tls-announce-leave(a)lists.trustedfirmware.org
Hi All,
Please find the link to the TrustedFirmware Community Code of Conduct here:
https://developer.trustedfirmware.org/w/collaboration/community_guidelines/…
Trusted Firmware has a very diverse and global developer community. It is
important that we adhere to the code of conduct in all our interactions.
For some of you all this may be new and for others just a gentle reminder.
In either case, if you have any questions, please feel free to reach out to
me directly.
And thanks to you all for your contributions to the TrustedFirmware
community!
Best regards,
Don Harbin
TrustedFirmware Community Manager
don.harbin(a)linaro.org
Hi,
We don't have any topics for the meeting this month. Hence cancelling.
Following topics related to OP-TEE will be presented in Linaro Connect Tech
Day : Core Technologies
<https://www.linaro.org/events/linaro-connect-tech-day-core-technologies/> on
March 29. Feel free to join us there.
- OP-TEE and FF-A evolution
- OP-TEE Lightning Talk
Regards,
Ruchika
(on behalf of OP-TEE team)
Hi,
I have been exploring secure storage in OP-TEE for a few days and I need
some help in putting some files into it.
I have been trying to find some tool which could help me put any files from
Linux into secure storage and retrieve them back later so that I could
see secure storage in action but haven't been able to find any yet.
Is there any tool which you guys might know of which helps put files in
secure storage and retrieve them back later?
Best Regards,
Manorit
Hi all,
This patchset is a general cleanup of shared memory handling in the TEE
subsystem.
Until now has the in-kernel tee clients used tee_shm_alloc() and
tee_shm_register() to share memory with secure world. These two function
exposes via a flags parameter a bit more of the internals of the TEE
subsystem than one would like. So in order to make things easier are those
two functions replaced by few functions which should provide better
abstraction.
Two in-kernel tee clients are updated to use these new functions.
The shared memory pool handling is simplified, an internal matter for the
two TEE drivers OP-TEE and AMDTEE.
In the v3 review it was suggested [1] to break out "optee: add driver
private tee_context" and "optee: use driver internal tee_contex for some
rpc" into a separate patch to fix to allow those a faster path upstream as
they fix reported problems. So this patchset is now rebased on top of those
patches separated.
This patchset is based on [2] and is also available at [3].
Thanks,
Jens
[1] https://lore.kernel.org/lkml/20220125162938.838382-1-jens.wiklander@linaro.…
[2] https://git.linaro.org/people/jens.wiklander/linux-tee.git/log/?h=fixes
[3] https://git.linaro.org/people/jens.wiklander/linux-tee.git/log/?h=tee_shm_v4
v3->v4:
* Broke out "optee: add driver private tee_context" and "optee: use driver
internal tee_contex for some rpc" into a separate patch as that fixes
earlier reported issues and deserves a to go into v5.17 and stable
trees.
* Rebased on the recent fixes for the OP-TEE driver on top of v5.17-rc2
* All patches are now reviewed by Sumit Garg + some small fixes from the
last review
v2->v3:
* Make tee_shm_alloc_user_buf() and tee_shm_register_user_buf() internal
and don't export them to the drivers.
* Rename tee_shm_alloc_priv_kernel_buf() to tee_shm_alloc_priv_buf()
* Adressing comments on variable names and choice of types in "tee: replace
tee_shm_register()"
* Adding detailed explaination on alignment in "tee: simplify shm pool handling"
* Added Sumits R-B on a few of the patches
v1->v2:
* The commits three "tee: add tee_shm_alloc_kernel_buf()",
"tpm_ftpm_tee: use tee_shm_alloc_kernel_buf()" and
"firmware: tee_bnxt: use tee_shm_alloc_kernel_buf()" has been merged some
time ago as part of another patchset.
* Another in-kernel tee client is updated with the commit
"KEYS: trusted: tee: use tee_shm_register_kernel_buf()"
* tee_shm_alloc_anon_kernel_buf() is replaced with an easier to use function
tee_shm_alloc_priv_kernel_buf() and tee_shm_free_anon_kernel_buf() has
been dropped.
* A driver internal struct tee_context is used to when doing driver internal
calls to secure world.
* Adds patches to replace tee_shm_register() in a similar way as how
tee_shm_alloc() is replaced.
* A patch is added to clean up the TEE_SHM_* flags
* Fixed a warning reported by kernel test robot <lkp(a)intel.com>
Jens Wiklander (10):
hwrng: optee-rng: use tee_shm_alloc_kernel_buf()
tee: remove unused tee_shm_pool_alloc_res_mem()
tee: add tee_shm_alloc_user_buf()
tee: simplify shm pool handling
tee: replace tee_shm_alloc()
optee: add optee_pool_op_free_helper()
tee: add tee_shm_register_{user,kernel}_buf()
KEYS: trusted: tee: use tee_shm_register_kernel_buf()
tee: replace tee_shm_register()
tee: refactor TEE_SHM_* flags
drivers/char/hw_random/optee-rng.c | 6 +-
drivers/tee/amdtee/shm_pool.c | 55 ++--
drivers/tee/optee/Kconfig | 8 -
drivers/tee/optee/call.c | 2 +-
drivers/tee/optee/core.c | 21 +-
drivers/tee/optee/device.c | 5 +-
drivers/tee/optee/ffa_abi.c | 63 ++---
drivers/tee/optee/optee_private.h | 7 +-
drivers/tee/optee/smc_abi.c | 125 +++------
drivers/tee/tee_core.c | 5 +-
drivers/tee/tee_private.h | 15 +-
drivers/tee/tee_shm.c | 320 +++++++++++++++--------
drivers/tee/tee_shm_pool.c | 162 +++---------
include/linux/tee_drv.h | 138 +++-------
security/keys/trusted-keys/trusted_tee.c | 23 +-
15 files changed, 388 insertions(+), 567 deletions(-)
--
2.31.1
Hi,
OP-TEE Contributions (LOC) monthly meeting is planned for Thursday Feb 24
@16.00 (UTC).
We have following on the agenda
- SDP DT Configuration, Olivier Masse, NXP
If you have any more topics you'd like to discuss, please let us know and
we can schedule them.
Meeting details:
---------------
Date/time: Feb 24(a)16.00 (UTC)
https://everytimezone.com/s/fef76b1b
Connection details: https://www.trustedfirmware.org/meetings/
Meeting notes: http://bit.ly/loc-notes
Regards,
Ruchika on behalf of the Linaro OP-TEE team
Hello arm-soc maintainers,
Please pull this TEE shared memory cleanup. Some kernel internal APIs are
replaced with easier to use counter parts. The TEE shared memory pool is
also simplified.
Note that this pull request includes two patches which are outside the TEE
subsystem:
- 231b1fc5da09 ("KEYS: trusted: tee: use tee_shm_register_kernel_buf()")
- e7ddab084740 ("hwrng: optee-rng: use tee_shm_alloc_kernel_buf()")
Those patches are reviewed by their maintainer. I've also asked the
maintainers that normally sends patches upstream for these modules if it's
OK that I take these patches via my tree. As I got no answer I assume that
it's OK.
This pull request is on top of the patch, aceeafefff73 ("optee: use driver
internal tee_context for some rpc"), I've already sent (and has since been
merged) for the 5.17 kernel. That's why I'm not including it in the stat.
Thanks,
Jens
The following changes since commit aceeafefff736057e8f93f19bbfbef26abd94604:
optee: use driver internal tee_context for some rpc (2022-02-03 13:36:32 +0100)
are available in the Git repository at:
git://git.linaro.org:/people/jens.wiklander/linux-tee.git tags/tee-shm-for-v5.18
for you to fetch changes up to a45ea4efa358577c623d7353a6ba9af3c17f6ca0:
tee: refactor TEE_SHM_* flags (2022-02-16 07:49:41 +0100)
----------------------------------------------------------------
TEE shared memory cleanup for v5.18
- The TEE shared memory pool based on two pools is replaced with a single
somewhat more capable pool.
- Replaces tee_shm_alloc() and tee_shm_register() with new functions
easier to use and maintain. The TEE subsystem and the TEE drivers are
updated to use the new functions instead.
- The TEE based Trusted keys routines are updated to use the new
simplified functions above.
- The OP-TEE based rng driver is updated to use the new simplified
functions above.
- The TEE_SHM-flags are refactored to better match their usage
----------------------------------------------------------------
Jens Wiklander (10):
hwrng: optee-rng: use tee_shm_alloc_kernel_buf()
tee: remove unused tee_shm_pool_alloc_res_mem()
tee: add tee_shm_alloc_user_buf()
tee: simplify shm pool handling
tee: replace tee_shm_alloc()
optee: add optee_pool_op_free_helper()
tee: add tee_shm_register_{user,kernel}_buf()
KEYS: trusted: tee: use tee_shm_register_kernel_buf()
tee: replace tee_shm_register()
tee: refactor TEE_SHM_* flags
drivers/char/hw_random/optee-rng.c | 6 +-
drivers/tee/amdtee/shm_pool.c | 55 ++----
drivers/tee/optee/Kconfig | 8 -
drivers/tee/optee/call.c | 2 +-
drivers/tee/optee/core.c | 21 +-
drivers/tee/optee/device.c | 5 +-
drivers/tee/optee/ffa_abi.c | 63 ++----
drivers/tee/optee/optee_private.h | 7 +-
drivers/tee/optee/smc_abi.c | 125 ++++--------
drivers/tee/tee_core.c | 5 +-
drivers/tee/tee_private.h | 15 +-
drivers/tee/tee_shm.c | 320 ++++++++++++++++++++-----------
drivers/tee/tee_shm_pool.c | 162 ++++------------
include/linux/tee_drv.h | 138 +++----------
security/keys/trusted-keys/trusted_tee.c | 23 +--
15 files changed, 388 insertions(+), 567 deletions(-)
Hello arm-soc maintainers,
Please pull this small AMDTEE driver simplification to use the LIST_HEAD()
macro instead for a global variable.
Note that this isn't a usual Arm driver update. This targets AMD instead,
but is part of the TEE subsystem.
Thanks,
Jens
The following changes since commit 26291c54e111ff6ba87a164d85d4a4e134b7315c:
Linux 5.17-rc2 (2022-01-30 15:37:07 +0200)
are available in the Git repository at:
git://git.linaro.org:/people/jens.wiklander/linux-tee.git tags/amdtee-for-v5.18
for you to fetch changes up to f7b67642dd98617dc569836cdcba041c7ff00cbb:
tee: amdtee: Make use of the helper macro LIST_HEAD() (2022-02-14 10:57:55 +0100)
----------------------------------------------------------------
Small simplification in AMDTE driver
----------------------------------------------------------------
Cai Huoqing (1):
tee: amdtee: Make use of the helper macro LIST_HEAD()
drivers/tee/amdtee/call.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)