| f1692368 | 05-Jan-2024 |
Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> |
pta: stm32mp: fix remoteproc config name
The CFG_RPROC_PTA config is not valid and has been replaced by the CFG_REMOTEPROC_PTA config during the review process.
Fixes: f6c57ea446db ("pta: stm32mp:
pta: stm32mp: fix remoteproc config name
The CFG_RPROC_PTA config is not valid and has been replaced by the CFG_REMOTEPROC_PTA config during the review process.
Fixes: f6c57ea446db ("pta: stm32mp: add new remoteproc PTA") Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| f6c57ea4 | 06-Jul-2022 |
Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> |
pta: stm32mp: add new remoteproc PTA
Add remoteproc PTA for the stm32mp1 platform. The PTA relies on the stm32_remoteproc driver for the remoteproc management. It is charge of providing interface fo
pta: stm32mp: add new remoteproc PTA
Add remoteproc PTA for the stm32mp1 platform. The PTA relies on the stm32_remoteproc driver for the remoteproc management. It is charge of providing interface for authenticating firmware images and managing the remote processor live cycle.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| a5e75b7e | 17-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: add commands to print clock and regulator trees
Add statistics PTA commands STATS_CMD_PRINT_DRIVERS_INFO to print device drivers information on console. The implementation currently allo
pta: stats: add commands to print clock and regulator trees
Add statistics PTA commands STATS_CMD_PRINT_DRIVERS_INFO to print device drivers information on console. The implementation currently allows to print the clock tree and the regulator tree to core console.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 37a87df8 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: rename statistics PTA
Rename statistics PTA to "stats.pta" for consistency.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.o
pta: stats: rename statistics PTA
Rename statistics PTA to "stats.pta" for consistency.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a05577ea | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
tree wide: clarify PTA ABI
Explicitly describe the statistics PTA ABI using dedicated inline comments and moving struct pta_stats_ta and struct pta_stats_alloc from respectively tee_ta_manager.c and
tree wide: clarify PTA ABI
Explicitly describe the statistics PTA ABI using dedicated inline comments and moving struct pta_stats_ta and struct pta_stats_alloc from respectively tee_ta_manager.c and malloc.h to pta_stats.h header file.
For that purpose, define ALLOC_ID_* macros to identify each allocator one can query information from through the statistics PTA API.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 761fc6ec | 22-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: export PTA API definition to TA devkit
Move statistics PTA API definitions and description to a header file that is exported to the TA devkit. This change makes the description that PTA
pta: stats: export PTA API definition to TA devkit
Move statistics PTA API definitions and description to a header file that is exported to the TA devkit. This change makes the description that PTA API more consistent regarding other PTAs.
Explicitly include tee_api_types.h from stats.c source file.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 12f658b9 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: initialize local variables where defined
Initialize local variables where defined in the statistics PTA.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissi
pta: stats: initialize local variables where defined
Initialize local variables where defined in the statistics PTA.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2617f49f | 22-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
tree wide: rename struct malloc_stats
Rename struct malloc_stats to struct pta_stats_alloc to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, l
tree wide: rename struct malloc_stats
Rename struct malloc_stats to struct pta_stats_alloc to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, located in libutee/include/ as already done for all other PTAs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bce2f88a | 19-Nov-2023 |
Vincent Mailhol <mailhol.vincent@wanadoo.fr> |
tree-wide: remove useless newline character in *MSG() messages
The *MSG() macros take care of printing a newline. Adding a newline character ('\n') is useless. Remove it.
Signed-off-by: Vincent Mai
tree-wide: remove useless newline character in *MSG() messages
The *MSG() macros take care of printing a newline. Adding a newline character ('\n') is useless. Remove it.
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ce0d3a46 | 08-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: pta: attestation: fix calls to tee_pobj_get()
Fixes calls to tee_pobj_get() that use boolean value false as argument where an enum tee_pobj_usage argument is expected.
Between OP-TEE release
core: pta: attestation: fix calls to tee_pobj_get()
Fixes calls to tee_pobj_get() that use boolean value false as argument where an enum tee_pobj_usage argument is expected.
Between OP-TEE release tags 2.4.0 and 3.11.0, tee_pobj_get() used to take a boolean @temporary argument. The function prototype changed in commit 6885abf2f7ef ("core: tee_pobj_get() takes an enum tee_pobj_usage") and was merged in release tag 3.11.0 but attestation PTA initial implementation of StMM sadly used the old prototype, using false (0) instead of TEE_POBJ_USAGE_OPEN (0).
Fixes: 7e05ec25bd68 ("core: pta: add remote attestation PTA") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 3afba469 | 06-Oct-2023 |
Clement Faure <clement.faure@nxp.com> |
core: pta: imx: fix typo DEK blob command
The PTA command had the manufacturing protection prefix instead of the DEK blob prefix.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jero
core: pta: imx: fix typo DEK blob command
The PTA command had the manufacturing protection prefix instead of the DEK blob prefix.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| c90dc99b | 21-Sep-2023 |
Weizhao Jiang <weizhaoj@amazon.com> |
core: pta: stats: implement a method to get tee and ree time
Add new command (STATS_CMD_GET_TIME) in the stats PTA. The command returns the tee and ree time for debug purposes. https://github.com/OP
core: pta: stats: implement a method to get tee and ree time
Add new command (STATS_CMD_GET_TIME) in the stats PTA. The command returns the tee and ree time for debug purposes. https://github.com/OP-TEE/optee_os/issues/6304
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Tested-by: Weizhao Jiang <weizhaoj@amazon.com> Signed-off-by: Weizhao Jiang <weizhaoj@amazon.com>
show more ...
|
| 623b9bd4 | 23-Aug-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: use monotonic counter for secure storage without RPMB
If OP-TEE is configured without RPMB (CFG_REE_FS_INTEGRITY_RPMB=n), use the non-volatile monotonic counter interface instead to protect ag
core: use monotonic counter for secure storage without RPMB
If OP-TEE is configured without RPMB (CFG_REE_FS_INTEGRITY_RPMB=n), use the non-volatile monotonic counter interface instead to protect against rollback of the REE FS base secure storage.
If configured without CFG_WARN_INSECURE=y, accept TEE_ERROR_NOT_IMPLEMENTED error from nv_counter_get_ree_fs() and nv_counter_incr_ree_fs_to() and warn once to make clear that the configuration isn't secure.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Tested-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 44ce4e40 | 02-Jun-2023 |
Clement Faure <clement.faure@nxp.com> |
core: pta: imx: add DEK blob
Add DEK blob PTA to generate CAAM DEK blobs.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 4522f807 | 06-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta: system: use bb_free_wipe() in system_derive_ta_unique_key()
Use the recently introduced function bb_free_wipe() to wipe bounce buffers of sensitive data when freeing then. Also updates to
core: pta: system: use bb_free_wipe() in system_derive_ta_unique_key()
Use the recently introduced function bb_free_wipe() to wipe bounce buffers of sensitive data when freeing then. Also updates to use a bouncer buffer instead of the heap to hold user supplied data when deriving the TA unique key now that we have bb_free_wipe().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 0eaf51c3 | 31-Aug-2023 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
core: pta: imx: disable access control for MP PTA
Allow opening the PTA without a calling session.
Enabling CFG_NXP_CAAM_MP_NO_ACCESS_CTRL permits users to use the OP-TEE client interface to retrie
core: pta: imx: disable access control for MP PTA
Allow opening the PTA without a calling session.
Enabling CFG_NXP_CAAM_MP_NO_ACCESS_CTRL permits users to use the OP-TEE client interface to retrieve the public key as well as to generate signatures.
See https://github.com/OP-TEE/optee_client/pull/352
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Clement Faure <clement.faure@nxp.com>
show more ...
|
| 8e81e607 | 24-Jul-2023 |
Clement Faure <clement.faure@nxp.com> |
core: pta: attestation: check return value of crypto_bignum_bin2bn()
Check the return value of crypto_bignum_bin2bn().
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Foris
core: pta: attestation: check return value of crypto_bignum_bin2bn()
Check the return value of crypto_bignum_bin2bn().
Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ac498786 | 01-Aug-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: pta: attestation: fixes for CFG_PAN=y
- Add missing enter_user_access()/exit_user_access() to cmd_hash_ta_memory() so that the PTA is allowed to access the TA directly. - Use to_bounce_par
core: pta: attestation: fixes for CFG_PAN=y
- Add missing enter_user_access()/exit_user_access() to cmd_hash_ta_memory() so that the PTA is allowed to access the TA directly. - Use to_bounce_params() and from_bounce_params() in the invoke entry point in order to use bounce buffers for memref parameters when the caller is a user space TA and PAN is enabled.
Fixes xtest 1037 with CFG_ATTESTATION_PTA=y CFG_PAN=y.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e41da76b | 26-Jul-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
pta: attestation: exclude memory regions without VM_FLAG_READONLY
When selecting which memory region of a TA should be hashed, exclude those without VM_FLAG_READONLY in their flag field instead of r
pta: attestation: exclude memory regions without VM_FLAG_READONLY
When selecting which memory region of a TA should be hashed, exclude those without VM_FLAG_READONLY in their flag field instead of requiring the absence of TEE_MATTR_UW in attr. This makes the code more consistent and fixes an issue triggered by commit 52e7b1a67f8f ("core: use user-access functions in ldelf interaction"). With that commit, an additional region is mapped read-only (i.e., no TEE_MATTR_UW) but does not have a fixed content for the TA. It can be excluded easily since it does not have the VM_FLAG_READONLY flag.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b2284b11 | 17-Jul-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: update FS storage API with user space buffer
Updates the create(), read(), and write() function pointers in struct ts_store_ops to take a user space buffer in addition to the previous core buf
core: update FS storage API with user space buffer
Updates the create(), read(), and write() function pointers in struct ts_store_ops to take a user space buffer in addition to the previous core buffer. Core buffers are normal secure memory while user space buffers should only be accessed using the user_access.h functions.
The different FS storage implementations are updated accordingly.
Note that the RPMB FS storage implementation resorts to using enter_user_access() and exit_user_access() due to internal complexities.
Fixes: 4e154320e47c ("core: Apply finer-grained PAN") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| eb4a988a | 14-Jul-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add user buffer to tee_invoke_supp_plugin_rpc()
Adds a user buffer to tee_invoke_supp_plugin_rpc() so direct user memory access can be used when called with a buffer in user memory instead of
core: add user buffer to tee_invoke_supp_plugin_rpc()
Adds a user buffer to tee_invoke_supp_plugin_rpc() so direct user memory access can be used when called with a buffer in user memory instead of core memory. tee_invoke_supp_plugin_rpc() can still take a core memory buffer as an argument if needed.
PTA_SYSTEM_SUPP_PLUGIN_INVOKE in the system PTA is updated to pass the memref as a user memory buffer instead of a core memory buffer.
This fixes a direct privileged memory access to user space memory.
Fixes: 4e154320e47c ("core: Apply finer-grained PAN") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 953707a4 | 21-Jun-2023 |
Seonghyun Park <seonghp@amazon.com> |
core: use user-access functions in system PTA
When user TAs call into the system PTA, allocate bounce buffers and copy data from the user buffers to the bounce buffers, which can be accessed by the
core: use user-access functions in system PTA
When user TAs call into the system PTA, allocate bounce buffers and copy data from the user buffers to the bounce buffers, which can be accessed by the core kernel functions.
Signed-off-by: Seonghyun Park <seonghp@amazon.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 52e7b1a6 | 14-Jun-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: use user-access functions in ldelf interaction
When interacting with LDELF, replace implicit user space accesses from privileged mode using proper user-access functions.
Co-developed-by: Seon
core: use user-access functions in ldelf interaction
When interacting with LDELF, replace implicit user space accesses from privileged mode using proper user-access functions.
Co-developed-by: Seonghyun Park <seonghp@amazon.com> Signed-off-by: Seonghyun Park <seonghp@amazon.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b357d34f | 06-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt_driver: swap TEE_result and retrieved device reference
Changes dt_driver callback function to return a TEE_Result value and pass retrieved device reference by a output argument rather than
core: dt_driver: swap TEE_result and retrieved device reference
Changes dt_driver callback function to return a TEE_Result value and pass retrieved device reference by a output argument rather than the opposite.
This change updates dt_driver.c, dt_driver.h and all drivers implementing related dt_driver callback function.
As a consequence, this change removes all type definition related to device specific callback handler function types which are useless as all these now comply with type dt_driver_probe_func defined in dt_driver.h.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 8fd620f7 | 22-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: rename dt_driver_phandle_args to dt_pargs
Renames struct dt_driver_phandle_args to struct dt_pargs to shorten the label and prevent ugly line breaks in function signatures.
Acked-by: Jens Wik
core: rename dt_driver_phandle_args to dt_pargs
Renames struct dt_driver_phandle_args to struct dt_pargs to shorten the label and prevent ugly line breaks in function signatures.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|