History log of /optee_os/lib/ (Results 51 – 75 of 877)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
cb03400225-Nov-2024 Jerome Forissier <jerome.forissier@linaro.org>

Squashed commit upgrading to mbedtls-3.6.2

Squash merging branch import/mbedtls-3.6.2.

85df256c4a67 ("libmbedtls: add CFG_CORE_UNSAFE_MODEXP and CFG_TA_MEBDTLS_UNSAFE_MODEXP")
1e9c6f15ef0f ("libm

Squashed commit upgrading to mbedtls-3.6.2

Squash merging branch import/mbedtls-3.6.2.

85df256c4a67 ("libmbedtls: add CFG_CORE_UNSAFE_MODEXP and CFG_TA_MEBDTLS_UNSAFE_MODEXP")
1e9c6f15ef0f ("libmbedtls: allow inclusion of arm_neon.h")
fab5313d7598 ("libmbedtls: fix cipher_wrap.c for NIST AES Key Wrap mode")
58c8b24bac04 ("libmbedtls: fix cipher_wrap.c for chacha20 and chachapoly")
50e013c6c306 ("libmbedtls: add fault mitigation in mbedtls_rsa_rsassa_pkcs1_v15_verify()")
c363a3c7e7e1 ("libmbedtls: add fault mitigation in mbedtls_rsa_rsassa_pss_verify_ext()")
91d9fe4fad38 ("libmbedtls: add SM2 curve")
b03fbd7006aa ("libmbedtls: fix no CRT issue")
bed9eb0c5209 ("libmbedtls: add interfaces in mbedtls for context memory operation")
65e7ec82d894 ("libmedtls: mpi_miller_rabin: increase count limit")
5e0191a043cb ("libmbedtls: add mbedtls_mpi_init_mempool()")
bf7ce25bb90f ("libmbedtls: make mbedtls_mpi_mont*() available")
04a9845a09b4 ("mbedtls: configure mbedtls to reach for config")
3f98104bba82 ("mbedtls: remove default include/mbedtls/config.h")
4d211f365152 ("Import mbedtls-3.6.2")

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/mm/phys_mem.c
libmbedtls/mbedtls/ChangeLog
libmbedtls/mbedtls/include/mbedtls/bignum.h
libmbedtls/mbedtls/include/mbedtls/build_info.h
libmbedtls/mbedtls/include/mbedtls/check_config.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_ssl.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_x509.h
libmbedtls/mbedtls/include/mbedtls/config_psa.h
libmbedtls/mbedtls/include/mbedtls/ctr_drbg.h
libmbedtls/mbedtls/include/mbedtls/ecdh.h
libmbedtls/mbedtls/include/mbedtls/ecp.h
libmbedtls/mbedtls/include/mbedtls/pk.h
libmbedtls/mbedtls/include/mbedtls/ssl.h
libmbedtls/mbedtls/include/psa/crypto.h
libmbedtls/mbedtls/include/psa/crypto_adjust_auto_enabled.h
libmbedtls/mbedtls/include/psa/crypto_adjust_config_dependencies.h
libmbedtls/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h
libmbedtls/mbedtls/include/psa/crypto_adjust_config_synonyms.h
libmbedtls/mbedtls/include/psa/crypto_extra.h
libmbedtls/mbedtls/include/psa/crypto_struct.h
libmbedtls/mbedtls/include/psa/crypto_types.h
libmbedtls/mbedtls/library/bignum.c
libmbedtls/mbedtls/library/bignum_core.c
libmbedtls/mbedtls/library/bignum_core.h
libmbedtls/mbedtls/library/bignum_internal.h
libmbedtls/mbedtls/library/block_cipher.c
libmbedtls/mbedtls/library/cipher.c
libmbedtls/mbedtls/library/common.h
libmbedtls/mbedtls/library/ctr_drbg.c
libmbedtls/mbedtls/library/entropy.c
libmbedtls/mbedtls/library/entropy_poll.c
libmbedtls/mbedtls/library/error.c
libmbedtls/mbedtls/library/lmots.c
libmbedtls/mbedtls/library/lms.c
libmbedtls/mbedtls/library/md.c
libmbedtls/mbedtls/library/net_sockets.c
libmbedtls/mbedtls/library/nist_kw.c
libmbedtls/mbedtls/library/pem.c
libmbedtls/mbedtls/library/pk.c
libmbedtls/mbedtls/library/pkwrite.c
libmbedtls/mbedtls/library/platform_util.c
libmbedtls/mbedtls/library/psa_crypto.c
libmbedtls/mbedtls/library/psa_crypto_cipher.c
libmbedtls/mbedtls/library/psa_crypto_core.h
libmbedtls/mbedtls/library/psa_crypto_driver_wrappers.h
libmbedtls/mbedtls/library/psa_crypto_random_impl.h
libmbedtls/mbedtls/library/psa_crypto_rsa.c
libmbedtls/mbedtls/library/psa_crypto_rsa.h
libmbedtls/mbedtls/library/psa_crypto_slot_management.c
libmbedtls/mbedtls/library/psa_crypto_slot_management.h
libmbedtls/mbedtls/library/psa_util.c
libmbedtls/mbedtls/library/rsa.c
libmbedtls/mbedtls/library/sha256.c
libmbedtls/mbedtls/library/ssl_cookie.c
libmbedtls/mbedtls/library/ssl_debug_helpers_generated.c
libmbedtls/mbedtls/library/ssl_misc.h
libmbedtls/mbedtls/library/ssl_msg.c
libmbedtls/mbedtls/library/ssl_ticket.c
libmbedtls/mbedtls/library/ssl_tls.c
libmbedtls/mbedtls/library/ssl_tls12_client.c
libmbedtls/mbedtls/library/ssl_tls12_server.c
libmbedtls/mbedtls/library/ssl_tls13_client.c
libmbedtls/mbedtls/library/ssl_tls13_generic.c
libmbedtls/mbedtls/library/ssl_tls13_server.c
libmbedtls/mbedtls/library/version_features.c
libmbedtls/mbedtls/library/x509_crt.c
libmbedtls/mbedtls/library/x509write_crt.c
libmbedtls/mbedtls/library/x509write_csr.c
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/pkcs11_attributes.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/processing.h
/optee_os/ta/pkcs11/src/processing_asymm.c
/optee_os/ta/pkcs11/src/processing_rsa.c
/optee_os/ta/pkcs11/src/token_capabilities.c
/optee_os/ta/pkcs11/sub.mk
900bf7c607-Nov-2024 Yuichi Sugiyama <yuichis@ricsec.co.jp>

pta: veraison_attestation: integrate Veraison remote attestation PTA

Copy remote attestation PTA functionality from the repository:
https://github.com/iisec-suzaki/optee-ra (commit: 80ca8ef), and ma

pta: veraison_attestation: integrate Veraison remote attestation PTA

Copy remote attestation PTA functionality from the repository:
https://github.com/iisec-suzaki/optee-ra (commit: 80ca8ef), and make
the following adjustments for integration:

- Add build configuration for remote attestation PTA by introducing
the CFG_VERAISON_ATTESTATION_PTA option to align with the new naming
convention.
- Replace the custom base64 implementation with the base64 library
added in PR OP-TEE#7007.
- Update QCBOR integration by removing custom QCBOR files and using
the standard library, adjusting paths as necessary.
- Apply region validation improvements introduced in PR OP-TEE#6195.
- Update API calls in sign.c to align with libmbedtls changes from
PR OP-TEE#6151.
- Calculate the required buffer size at runtime to minimize memory
allocation.
- Refactor code to improve readability and maintainability.
- Add SPDX license identifier (BSD-2-Clause) and copyright notice.

Signed-off-by: Yuichi Sugiyama <yuichis@ricsec.co.jp>
Reviewed-by: Thomas Fossati <thomas.fossati@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

da60388420-Nov-2024 Vincent Mailhol <mailhol.vincent@wanadoo.fr>

libutee: fix TEE_MemMove()'s return type

In all the published versions of the TEE Internal API Specification,
the return type of TEE_MemMove() has always been void, not void *.

Fixes: b01047730e77

libutee: fix TEE_MemMove()'s return type

In all the published versions of the TEE Internal API Specification,
the return type of TEE_MemMove() has always been void, not void *.

Fixes: b01047730e77 ("Open-source the TEE Core")
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1-ca35tdcid-rcc.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1-ca35tdcid-rif.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1.dts
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/kernel/misc_a64.S
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/drivers/cbmem_console.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/clk/clk.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/caam_key.c
/optee_os/core/drivers/crypto/caam/crypto.mk
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg_dt.c
/optee_os/core/drivers/crypto/caam/include/caam_desc_defines.h
/optee_os/core/drivers/crypto/se050/core/storage.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/firewall/firewall.c
/optee_os/core/drivers/firewall/stm32_etzpc.c
/optee_os/core/drivers/firewall/stm32_rif.c
/optee_os/core/drivers/firewall/stm32_rifsc.c
/optee_os/core/drivers/firewall/stm32_risaf.c
/optee_os/core/drivers/nvmem/nvmem.c
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/regulator/stm32_vrefbuf.c
/optee_os/core/drivers/remoteproc/stm32_remoteproc.c
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/drivers/stm32_fmc.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_hpdma.c
/optee_os/core/drivers/stm32_hsem.c
/optee_os/core/drivers/stm32_ipcc.c
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/firewall.h
/optee_os/core/include/drivers/firewall_device.h
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/stm32_rif.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/kernel/dt.c
/optee_os/core/lib/libfdt/fdt_ro.c
/optee_os/core/mm/core_mmu.c
libutee/include/tee_internal_api.h
libutee/tee_api.c
/optee_os/mk/config.mk
/optee_os/scripts/sign_encrypt.py
9962720609-Nov-2024 Vincent Mailhol <mailhol.vincent@wanadoo.fr>

compiler.h: only use __no_stack_protector if supported by the compiler

The __attribute__((no_stack_protector)) was introduced in GCC 11.
Building a TA with a version of GCC older than that would tri

compiler.h: only use __no_stack_protector if supported by the compiler

The __attribute__((no_stack_protector)) was introduced in GCC 11.
Building a TA with a version of GCC older than that would trigger a
-Wattributes warning on the ta/user_ta_header.c file.

Use __has_attribute() to check support of the no_stack_protector
attribute before using it. If not supported, define the
__no_stack_protector alias as a NOP.

Fixes: e3fb2bd005f0 ("compiler.h: add __no_stack_protector")
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/dts/stm32mp131.dtsi
/optee_os/core/arch/arm/dts/stm32mp135.dtsi
/optee_os/core/arch/arm/dts/stm32mp135f-dk.dts
/optee_os/core/arch/arm/dts/stm32mp13xc.dtsi
/optee_os/core/arch/arm/dts/stm32mp13xf.dtsi
/optee_os/core/arch/arm/dts/stm32mp151.dtsi
/optee_os/core/arch/arm/dts/stm32mp153.dtsi
/optee_os/core/arch/arm/dts/stm32mp157a-dk1-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp157a-dk1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp157c-dk2.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1-scmi.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/dts/stm32mp15xc.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcom-som.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dhcor-som.dtsi
/optee_os/core/arch/arm/dts/stm32mp15xx-dkx.dtsi
/optee_os/core/arch/arm/plat-k3/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/plat_tzc400.c
/optee_os/core/arch/arm/plat-stm32mp1/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
/optee_os/core/arch/riscv/kernel/thread_optee_abi_rv.S
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32mp25.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_sm_dt.c
/optee_os/core/drivers/crypto/caam/hal/common/sub.mk
/optee_os/core/drivers/crypto/caam/hal/imx_8m/hal_cfg.c
/optee_os/core/drivers/crypto/caam/hal/imx_8m/sub.mk
/optee_os/core/drivers/crypto/caam/include/caam_hal_cfg.h
/optee_os/core/drivers/firewall/stm32_etzpc.c
/optee_os/core/drivers/firewall/sub.mk
/optee_os/core/drivers/imx_csu.c
/optee_os/core/drivers/remoteproc/stm32_remoteproc.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/stm32_etzpc.h
/optee_os/core/include/drivers/stm32_remoteproc.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/dt-bindings/firewall/stm32mp13-etzpc.h
/optee_os/core/include/dt-bindings/firewall/stm32mp13-tzc400.h
/optee_os/core/include/dt-bindings/firewall/stm32mp15-etzpc.h
/optee_os/core/include/dt-bindings/firewall/stm32mp15-tzc400.h
/optee_os/core/include/dt-bindings/firewall/tzc400.h
/optee_os/core/mm/mobj.c
/optee_os/core/mm/mobj_dyn_shm.c
libutils/ext/include/compiler.h
/optee_os/mk/compile.mk
/optee_os/mk/subdir.mk
/optee_os/ta/mk/ta_dev_kit.mk
511c3c4226-Sep-2024 Jens Wiklander <jens.wiklander@linaro.org>

libmbedtls: mbedtls_config_uta.h: enable SHA-384 and SHA-512 support

Enable SHA-384 and SHA-512 support for user TAs.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne

libmbedtls: mbedtls_config_uta.h: enable SHA-384 and SHA-512 support

Enable SHA-384 and SHA-512 support for user TAs.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

f260243f16-Oct-2024 Jens Wiklander <jens.wiklander@linaro.org>

tee_api_types.h: default alignment for TEE_BigIntFMMContext

Remove the custom alignment from TEE_BigIntFMMContext.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Car

tee_api_types.h: default alignment for TEE_BigIntFMMContext

Remove the custom alignment from TEE_BigIntFMMContext.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/cpu/cortex-armv9.mk
/optee_os/core/arch/arm/cpu/neoverse-v2.mk
/optee_os/core/arch/arm/dts/stm32mp25-pinctrl.dtsi
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1-ca35tdcid-resmem.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1-ca35tdcid-rif.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1.dts
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-rd1ae/conf.mk
/optee_os/core/arch/arm/plat-rd1ae/main.c
/optee_os/core/arch/arm/plat-rd1ae/platform_config.h
/optee_os/core/arch/arm/plat-rd1ae/rd1ae_core_pos.S
/optee_os/core/arch/arm/plat-rd1ae/sub.mk
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/arm/plat-stm32mp2/platform_config.h
/optee_os/core/arch/arm/plat-stm32mp2/stm32_sysconf.h
/optee_os/core/arch/arm/plat-stm32mp2/stm32_util.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/drivers/clk/clk-stm32-core.c
/optee_os/core/drivers/clk/clk-stm32-core.h
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/clk/clk-stm32mp15.c
/optee_os/core/drivers/crypto/stm32/stm32_saes.c
/optee_os/core/drivers/firewall/firewall.c
/optee_os/core/drivers/firewall/stm32_rifsc.c
/optee_os/core/drivers/firewall/stm32_risab.c
/optee_os/core/drivers/firewall/stm32_risaf.c
/optee_os/core/drivers/firewall/sub.mk
/optee_os/core/drivers/gic.c
/optee_os/core/drivers/stm32_gpio.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/include/drivers/firewall.h
/optee_os/core/include/drivers/stm32_rif.h
/optee_os/core/include/drivers/stm32_risab.h
/optee_os/core/include/drivers/stm32_risaf.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rif.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rifsc.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-risab.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-risaf.h
/optee_os/core/include/kernel/pm.h
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/pm.c
/optee_os/ldelf/ta_elf_rel.c
libutee/include/tee_api_types.h
/optee_os/mk/config.mk
/optee_os/mk/subdir.mk
/optee_os/ta/user_ta_header.c
e3fb2bd020-Sep-2024 Jerome Forissier <jerome.forissier@linaro.org>

compiler.h: add __no_stack_protector

Add the __no_stack_protector macro as an alias for
__attribute__((no_stack_protector)), which prevents the generation by
the compiler of the stack protection cod

compiler.h: add __no_stack_protector

Add the __no_stack_protector macro as an alias for
__attribute__((no_stack_protector)), which prevents the generation by
the compiler of the stack protection code.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Khoa Hoang <admin@khoahoang.com>

show more ...

a4ad8ad104-Jul-2024 Mikko Rapeli <mikko.rapeli@linaro.org>

user_ta_header.h: update TA_FLAGS_MASK for RPMB support

TA_FLAG_DEVICE_ENUM_RPMB 12 is a valid flag now. Fixes usage of
this new flag at runtime in TAs.

Signed-off-by: Mikko Rapeli <mikko.rapeli@li

user_ta_header.h: update TA_FLAGS_MASK for RPMB support

TA_FLAG_DEVICE_ENUM_RPMB 12 is a valid flag now. Fixes usage of
this new flag at runtime in TAs.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

a96033ca07-May-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: add flag to enumerate TAs when secure storage is ready

Add TA_FLAG_DEVICE_ENUM_TEE_STORAGE_PRIVATE with similar usage as
TA_FLAG_DEVICE_ENUM_SUPP except that it is used to add an enumeration
p

core: add flag to enumerate TAs when secure storage is ready

Add TA_FLAG_DEVICE_ENUM_TEE_STORAGE_PRIVATE with similar usage as
TA_FLAG_DEVICE_ENUM_SUPP except that it is used to add an enumeration
point when secure storage is ready.

The new TA function PTA_CMD_GET_DEVICES_RPMB is added to the device PTA
to report TAs depending on RPMB.

PTA_CMD_GET_DEVICES_RPMB will if CFG_REE_FS!=y and CFG_RPMB_FS=y first
try to initialize RPMB and only if successful will it return eventual
TAs with the TA_FLAG_DEVICE_ENUM_TEE_STORAGE_PRIVATE flag set.

PTA_CMD_GET_DEVICES_SUPP will if CFG_REE_FS=y include TAs with the
TA_FLAG_DEVICE_ENUM_TEE_STORAGE_PRIVATE flag set in the list of TAs to
return.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


/optee_os/.checkpatch.conf
/optee_os/core/arch/arm/include/optee_ffa.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/plat-spike/platform_config.h
/optee_os/core/arch/riscv/plat-virt/platform_config.h
/optee_os/core/drivers/crypto/hisilicon/hpre_montgomery.c
/optee_os/core/drivers/crypto/hisilicon/hpre_montgomery.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/include/drivers/rstctrl.h
/optee_os/core/include/kernel/thread.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/phys_mem.h
/optee_os/core/include/optee_rpc_cmd.h
/optee_os/core/include/tee/tee_fs.h
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/thread.c
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/fobj.c
/optee_os/core/mm/pgt_cache.c
/optee_os/core/mm/phys_mem.c
/optee_os/core/mm/sub.mk
/optee_os/core/pta/device.c
/optee_os/core/pta/stats.c
/optee_os/core/tee/tee_rpmb_fs.c
libutee/include/pta_device.h
libutee/include/user_ta_header.h
/optee_os/ta/pkcs11/src/object.c
8cd20f2316-Aug-2024 Jens Wiklander <jens.wiklander@linaro.org>

libutils: malloc.h: add nex_malloc_buffer_overlaps_heap()

Add the macros nex_malloc_buffer_overlaps_heap() and
nex_malloc_buffer_is_within_alloced() as aliases for
malloc_buffer_overlaps_heap() and

libutils: malloc.h: add nex_malloc_buffer_overlaps_heap()

Add the macros nex_malloc_buffer_overlaps_heap() and
nex_malloc_buffer_is_within_alloced() as aliases for
malloc_buffer_overlaps_heap() and malloc_buffer_is_within_alloced() when
virtualization isn't enabled.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

88824fa420-Aug-2024 Jens Wiklander <jens.wiklander@linaro.org>

libutils: add PADDR_MAX and PADDR_SIZE_MAX

Add defines for the maximum values of paddr_t and paddr_size_t.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <j

libutils: add PADDR_MAX and PADDR_SIZE_MAX

Add defines for the maximum values of paddr_t and paddr_size_t.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

3ebb034928-Aug-2024 Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

pta: remoteproc: Add command to release remote processor resources

This patch introduces a new PTA command `PTA_REMOTEPROC_RELEASE` to
release the resources associated with a remote processor.

- De

pta: remoteproc: Add command to release remote processor resources

This patch introduces a new PTA command `PTA_REMOTEPROC_RELEASE` to
release the resources associated with a remote processor.

- Definition of the `PTA_REMOTEPROC_RELEASE` PTA command the header file
- Implement the command in the stm32mp remote proc PTA to request the
clean of the remoteproc memories.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

81d5a9d526-Aug-2024 Jens Wiklander <jens.wiklander@linaro.org>

Move base64.{c,h} from libutee to libutils

Make the base64 routines publicly available by moving them from libutee
to libutils. The _ prefix is removed from the public functions since
they aren't in

Move base64.{c,h} from libutee to libutils

Make the base64 routines publicly available by moving them from libutee
to libutils. The _ prefix is removed from the public functions since
they aren't internal to libutee any longer.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a32.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/nsec-service/sm_platform_handler.c
/optee_os/core/arch/arm/plat-sam/nsec-service/smc_ids.h
/optee_os/core/arch/arm/plat-sam/sam_pl310.c
/optee_os/core/arch/arm/plat-sam/sam_pl310.h
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/riscv/kernel/csr_detect.S
/optee_os/core/arch/riscv/kernel/link.mk
/optee_os/core/arch/riscv/plat-virt/conf.mk
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/drivers/clk/sam/at91_cpu_opp.c
/optee_os/core/drivers/firewall/stm32_iac.c
/optee_os/core/drivers/firewall/stm32_serc.c
/optee_os/core/drivers/firewall/sub.mk
/optee_os/core/drivers/scmi-msg/clock.c
/optee_os/core/drivers/scmi-msg/voltage_domain.h
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/stm32_rif.h
/optee_os/core/include/initcall.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/kernel/initcall.c
/optee_os/core/tee/tee_cryp_utl.c
libutee/sub.mk
libutee/tee_api_property.c
libutils/ext/base64.c
libutils/ext/include/base64.h
libutils/ext/sub.mk
/optee_os/mk/compile.mk
/optee_os/mk/macros.mk
/optee_os/ta/pkcs11/src/processing_rsa.c
021fee0a19-Aug-2024 Jacob Kroon <jacobkr@axis.com>

core: mbedtls: Fix build

The macro 'MBEDTLS_INTERNAL_VALIDATE_RET()' was removed in upstream commit
https://github.com/Mbed-TLS/mbedtls/commit/cc0fd47531ffeffb3185db77a17ee113

The macro was a no-op

core: mbedtls: Fix build

The macro 'MBEDTLS_INTERNAL_VALIDATE_RET()' was removed in upstream commit
https://github.com/Mbed-TLS/mbedtls/commit/cc0fd47531ffeffb3185db77a17ee113

The macro was a no-op, so just remove the checks.

This fixes building OP-TEE with:

make PLATFORM=vexpress \
PLATFORM_FLAVOR=juno \
CFG_CRYPTOLIB_NAME=mbedtls \
CFG_CRYPTOLIB_DIR=lib/libmbedtls
...
lib/libmbedtls/core/hash.c: In function 'mbedtls_internal_sha1_process':
lib/libmbedtls/core/hash.c:205:9: error: implicit declaration of function 'MBEDTLS_INTERNAL_VALIDATE_RET'

Signed-off-by: Jacob Kroon <jacobkr@axis.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

136db98505-May-2024 Jens Wiklander <jens.wiklander@linaro.org>

libutils: add array helpers

Add helper function() to insert and remove an element from an array. The
helper functions shifts the elements in the array as needed to make room
or fill a room of an ele

libutils: add array helpers

Add helper function() to insert and remove an element from an array. The
helper functions shifts the elements in the array as needed to make room
or fill a room of an element at a certain position.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/include/mm/core_mmu_arch.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/imx-common.c
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/registers/imx95.h
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_pmic.c
/optee_os/core/arch/riscv/include/encoding.h
/optee_os/core/arch/riscv/kernel/link.mk
/optee_os/core/arch/riscv/mm/core_mmu_arch.c
/optee_os/core/drivers/crypto/hisilicon/crypto.mk
/optee_os/core/drivers/crypto/hisilicon/hpre_ecc.c
/optee_os/core/drivers/crypto/hisilicon/hpre_ecc.h
/optee_os/core/drivers/crypto/hisilicon/sec_cipher.c
/optee_os/core/drivers/crypto/hisilicon/sec_cipher.h
/optee_os/core/drivers/crypto/hisilicon/sec_hash.c
/optee_os/core/drivers/crypto/hisilicon/sec_main.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/drivers/i2c/atmel_i2c.c
/optee_os/core/drivers/imx/mu/sub.mk
/optee_os/core/drivers/imx_ele.c
/optee_os/core/drivers/nvmem/atmel_sfc.c
/optee_os/core/drivers/nvmem/nvmem_die_id.c
/optee_os/core/drivers/nvmem/nvmem_huk.c
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/include/drivers/imx_mu.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/pm.h
/optee_os/core/include/kernel/transfer_list.h
/optee_os/core/include/mm/mobj.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/user_access.c
/optee_os/core/lib/libtomcrypt/src/pk/ec25519/tweetnacl.c
/optee_os/core/mm/mobj.c
libutils/ext/array.c
libutils/ext/include/string_ext.h
libutils/ext/sub.mk
/optee_os/mk/compile.mk
fa4b462112-Jul-2024 Etienne Carriere <etienne.carriere@foss.st.com>

libutils: qsort helper for standard types

Add qsort_int(), qsort_uint(), qsort_u32() and friends as qsort() helper
functions to sort standard typed arrays.

Signed-off-by: Etienne Carriere <etienne.

libutils: qsort helper for standard types

Add qsort_int(), qsort_uint(), qsort_u32() and friends as qsort() helper
functions to sort standard typed arrays.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

dcf343a205-Jul-2024 Jens Wiklander <jens.wiklander@linaro.org>

arm32: ftrace: skip profiling of __aeabi functions

When compiling the __aeabi functions, skip profiling unconditionally to
avoid recursive calls.

Reported-by: Jerome Forissier <jerome.forissier@lin

arm32: ftrace: skip profiling of __aeabi functions

When compiling the __aeabi functions, skip profiling unconditionally to
avoid recursive calls.

Reported-by: Jerome Forissier <jerome.forissier@linaro.org>
Closes: https://github.com/OP-TEE/optee_os/issues/6870
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_virt)

show more ...

2efd76af04-Jul-2024 Jens Wiklander <jens.wiklander@linaro.org>

Fix TA_FLAGS_MASK

Add missing TA_FLAG_DONT_CLOSE_HANDLE_ON_CORRUPT_OBJECT to
TA_FLAGS_MASK.

Fixes: 138c5102ef4c ("GP131: Add TA property gpd.ta.doesNotCloseHandleOnCorruptObject")
Suggested-by: Mik

Fix TA_FLAGS_MASK

Add missing TA_FLAG_DONT_CLOSE_HANDLE_ON_CORRUPT_OBJECT to
TA_FLAGS_MASK.

Fixes: 138c5102ef4c ("GP131: Add TA property gpd.ta.doesNotCloseHandleOnCorruptObject")
Suggested-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/crypto/sha3_armv8a_ce_a64.S
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1-ca35tdcid-rcc.dtsi
/optee_os/core/arch/arm/dts/stm32mp257f-ev1.dts
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/spmc_sp_handler.h
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/virtualization.c
/optee_os/core/arch/arm/mm/sp_mem.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/drivers/stm32mp25_syscfg.c
/optee_os/core/arch/arm/plat-stm32mp2/drivers/sub.mk
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/arm/plat-stm32mp2/stm32_sysconf.h
/optee_os/core/arch/arm/plat-stm32mp2/stm32_util.h
/optee_os/core/arch/arm/plat-stm32mp2/sub.mk
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/tee/entry_fast.c
/optee_os/core/drivers/clk/clk-stm32mp25.c
/optee_os/core/drivers/clk/sub.mk
/optee_os/core/drivers/firewall/firewall.c
/optee_os/core/drivers/hisi_trng.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.c
/optee_os/core/drivers/rstctrl/stm32_rstctrl.h
/optee_os/core/drivers/rstctrl/stm32mp1_rstctrl.c
/optee_os/core/drivers/rstctrl/stm32mp25_rstctrl.c
/optee_os/core/drivers/rstctrl/sub.mk
/optee_os/core/include/drivers/stm32mp25_rcc.h
/optee_os/core/include/drivers/stm32mp2_rcc_util.h
/optee_os/core/include/drivers/stm32mp_dt_bindings.h
/optee_os/core/include/dt-bindings/clock/st,stm32mp25-rcc.h
/optee_os/core/include/dt-bindings/clock/stm32mp25-clksrc.h
/optee_os/core/include/dt-bindings/mfd/st,stpmic1.h
/optee_os/core/include/dt-bindings/reset/st,stm32mp25-rcc.h
/optee_os/core/include/kernel/notif.h
/optee_os/core/include/kernel/virtualization.h
/optee_os/core/include/mm/pgt_cache.h
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/notif_default.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_flexi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_multi.c
/optee_os/core/lib/scmi-server/conf-optee-stm32mp1.mk
/optee_os/core/lib/scmi-server/conf.mk
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/pgt_cache.c
/optee_os/core/tests/notif_test_wd.c
libutee/include/user_ta_header.h
/optee_os/mk/config.mk
b056363113-Jun-2024 Tom Van Eyck <tom.vaneyck@kuleuven.be>

Squashed commit upgrading to mbedtls-3.6.0

Squash merging branch import/mbedtls-3.6.0

0fc9291f4 ("libmbedtls: bignum: restore mbedtls_mpi_exp_mod() from v3.5.2")
0ef87b1e6 ("libmbedtls: reset minim

Squashed commit upgrading to mbedtls-3.6.0

Squash merging branch import/mbedtls-3.6.0

0fc9291f4 ("libmbedtls: bignum: restore mbedtls_mpi_exp_mod() from v3.5.2")
0ef87b1e6 ("libmbedtls: reset minimum rsa key size")
70b079496 ("libmbedtls: adjust use of rsa pk_wrap API")
6cf76464f ("libmbedtls: allow inclusion of arm_neon.h")
27df5c911 ("libmbedtls: fix cipher_wrap.c for NIST AES Key Wrap mode")
aa584f9ed ("libmbedtls: fix cipher_wrap.c for chacha20 and chachapoly")
523ae957e ("libmbedtls: add fault mitigation in mbedtls_rsa_rsassa_pkcs1_v15_verify()")
30bdb1bbf ("libmbedtls: add fault mitigation in mbedtls_rsa_rsassa_pss_verify_ext()")
e45cdab62 ("libmbedtls: add SM2 curve")
d2fda4fc2 ("libmbedtls: fix no CRT issue")
ab0eb5515 ("libmbedtls: add interfaces in mbedtls for context memory operation")
7925a6f26 ("libmedtls: mpi_miller_rabin: increase count limit")
8eaf69279 ("libmbedtls: add mbedtls_mpi_init_mempool()")
12e83fc8d ("libmbedtls: make mbedtls_mpi_mont*() available")
f9e261da5 ("mbedtls: configure mbedtls to reach for config")
7b6f378d7 ("mbedtls: remove default include/mbedtls/config.h")
c16331743 ("Import mbedtls-3.6.0")

Signed-off-by: Tom Van Eyck <tom.vaneyck@kuleuven.be>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


libmbedtls/core/rsa.c
libmbedtls/include/mbedtls_config_kernel.h
libmbedtls/include/mbedtls_config_uta.h
libmbedtls/mbedtls/.uncrustify.cfg
libmbedtls/mbedtls/BUGS.md
libmbedtls/mbedtls/CONTRIBUTING.md
libmbedtls/mbedtls/ChangeLog
libmbedtls/mbedtls/LICENSE
libmbedtls/mbedtls/README.md
libmbedtls/mbedtls/SECURITY.md
libmbedtls/mbedtls/include/mbedtls/aes.h
libmbedtls/mbedtls/include/mbedtls/aria.h
libmbedtls/mbedtls/include/mbedtls/asn1.h
libmbedtls/mbedtls/include/mbedtls/asn1write.h
libmbedtls/mbedtls/include/mbedtls/base64.h
libmbedtls/mbedtls/include/mbedtls/bignum.h
libmbedtls/mbedtls/include/mbedtls/block_cipher.h
libmbedtls/mbedtls/include/mbedtls/build_info.h
libmbedtls/mbedtls/include/mbedtls/camellia.h
libmbedtls/mbedtls/include/mbedtls/ccm.h
libmbedtls/mbedtls/include/mbedtls/chacha20.h
libmbedtls/mbedtls/include/mbedtls/chachapoly.h
libmbedtls/mbedtls/include/mbedtls/check_config.h
libmbedtls/mbedtls/include/mbedtls/cipher.h
libmbedtls/mbedtls/include/mbedtls/cmac.h
libmbedtls/mbedtls/include/mbedtls/compat-2.x.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_ssl.h
libmbedtls/mbedtls/include/mbedtls/config_adjust_x509.h
libmbedtls/mbedtls/include/mbedtls/config_psa.h
libmbedtls/mbedtls/include/mbedtls/constant_time.h
libmbedtls/mbedtls/include/mbedtls/ctr_drbg.h
libmbedtls/mbedtls/include/mbedtls/debug.h
libmbedtls/mbedtls/include/mbedtls/des.h
libmbedtls/mbedtls/include/mbedtls/dhm.h
libmbedtls/mbedtls/include/mbedtls/ecdh.h
libmbedtls/mbedtls/include/mbedtls/ecdsa.h
libmbedtls/mbedtls/include/mbedtls/ecjpake.h
libmbedtls/mbedtls/include/mbedtls/ecp.h
libmbedtls/mbedtls/include/mbedtls/entropy.h
libmbedtls/mbedtls/include/mbedtls/error.h
libmbedtls/mbedtls/include/mbedtls/gcm.h
libmbedtls/mbedtls/include/mbedtls/hkdf.h
libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
libmbedtls/mbedtls/include/mbedtls/lms.h
libmbedtls/mbedtls/include/mbedtls/md.h
libmbedtls/mbedtls/include/mbedtls/md5.h
libmbedtls/mbedtls/include/mbedtls/memory_buffer_alloc.h
libmbedtls/mbedtls/include/mbedtls/net_sockets.h
libmbedtls/mbedtls/include/mbedtls/nist_kw.h
libmbedtls/mbedtls/include/mbedtls/oid.h
libmbedtls/mbedtls/include/mbedtls/pem.h
libmbedtls/mbedtls/include/mbedtls/pk.h
libmbedtls/mbedtls/include/mbedtls/pkcs12.h
libmbedtls/mbedtls/include/mbedtls/pkcs5.h
libmbedtls/mbedtls/include/mbedtls/pkcs7.h
libmbedtls/mbedtls/include/mbedtls/platform.h
libmbedtls/mbedtls/include/mbedtls/platform_time.h
libmbedtls/mbedtls/include/mbedtls/platform_util.h
libmbedtls/mbedtls/include/mbedtls/poly1305.h
libmbedtls/mbedtls/include/mbedtls/private_access.h
libmbedtls/mbedtls/include/mbedtls/psa_util.h
libmbedtls/mbedtls/include/mbedtls/ripemd160.h
libmbedtls/mbedtls/include/mbedtls/rsa.h
libmbedtls/mbedtls/include/mbedtls/sha1.h
libmbedtls/mbedtls/include/mbedtls/sha256.h
libmbedtls/mbedtls/include/mbedtls/sha3.h
libmbedtls/mbedtls/include/mbedtls/sha512.h
libmbedtls/mbedtls/include/mbedtls/ssl.h
libmbedtls/mbedtls/include/mbedtls/ssl_cache.h
libmbedtls/mbedtls/include/mbedtls/ssl_ciphersuites.h
libmbedtls/mbedtls/include/mbedtls/ssl_cookie.h
libmbedtls/mbedtls/include/mbedtls/ssl_ticket.h
libmbedtls/mbedtls/include/mbedtls/threading.h
libmbedtls/mbedtls/include/mbedtls/timing.h
libmbedtls/mbedtls/include/mbedtls/version.h
libmbedtls/mbedtls/include/mbedtls/x509.h
libmbedtls/mbedtls/include/mbedtls/x509_crl.h
libmbedtls/mbedtls/include/mbedtls/x509_crt.h
libmbedtls/mbedtls/include/mbedtls/x509_csr.h
libmbedtls/mbedtls/include/psa/build_info.h
libmbedtls/mbedtls/include/psa/crypto.h
libmbedtls/mbedtls/include/psa/crypto_adjust_auto_enabled.h
libmbedtls/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h
libmbedtls/mbedtls/include/psa/crypto_adjust_config_synonyms.h
libmbedtls/mbedtls/include/psa/crypto_builtin_composites.h
libmbedtls/mbedtls/include/psa/crypto_builtin_key_derivation.h
libmbedtls/mbedtls/include/psa/crypto_builtin_primitives.h
libmbedtls/mbedtls/include/psa/crypto_compat.h
libmbedtls/mbedtls/include/psa/crypto_config.h
libmbedtls/mbedtls/include/psa/crypto_driver_common.h
libmbedtls/mbedtls/include/psa/crypto_driver_contexts_composites.h
libmbedtls/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h
libmbedtls/mbedtls/include/psa/crypto_driver_contexts_primitives.h
libmbedtls/mbedtls/include/psa/crypto_extra.h
libmbedtls/mbedtls/include/psa/crypto_legacy.h
libmbedtls/mbedtls/include/psa/crypto_platform.h
libmbedtls/mbedtls/include/psa/crypto_se_driver.h
libmbedtls/mbedtls/include/psa/crypto_sizes.h
libmbedtls/mbedtls/include/psa/crypto_struct.h
libmbedtls/mbedtls/include/psa/crypto_types.h
libmbedtls/mbedtls/include/psa/crypto_values.h
libmbedtls/mbedtls/library/aes.c
libmbedtls/mbedtls/library/aesce.c
libmbedtls/mbedtls/library/aesce.h
libmbedtls/mbedtls/library/aesni.c
libmbedtls/mbedtls/library/aesni.h
libmbedtls/mbedtls/library/alignment.h
libmbedtls/mbedtls/library/aria.c
libmbedtls/mbedtls/library/asn1parse.c
libmbedtls/mbedtls/library/asn1write.c
libmbedtls/mbedtls/library/base64.c
libmbedtls/mbedtls/library/base64_internal.h
libmbedtls/mbedtls/library/bignum.c
libmbedtls/mbedtls/library/bignum_core.c
libmbedtls/mbedtls/library/bignum_core.h
libmbedtls/mbedtls/library/bignum_mod.c
libmbedtls/mbedtls/library/bignum_mod.h
libmbedtls/mbedtls/library/bignum_mod_raw.c
libmbedtls/mbedtls/library/bignum_mod_raw.h
libmbedtls/mbedtls/library/bignum_mod_raw_invasive.h
libmbedtls/mbedtls/library/block_cipher.c
libmbedtls/mbedtls/library/block_cipher_internal.h
libmbedtls/mbedtls/library/bn_mul.h
libmbedtls/mbedtls/library/camellia.c
libmbedtls/mbedtls/library/ccm.c
libmbedtls/mbedtls/library/chacha20.c
libmbedtls/mbedtls/library/chachapoly.c
libmbedtls/mbedtls/library/check_crypto_config.h
libmbedtls/mbedtls/library/cipher.c
libmbedtls/mbedtls/library/cipher_wrap.c
libmbedtls/mbedtls/library/cipher_wrap.h
libmbedtls/mbedtls/library/cmac.c
libmbedtls/mbedtls/library/common.h
libmbedtls/mbedtls/library/constant_time.c
libmbedtls/mbedtls/library/constant_time_impl.h
libmbedtls/mbedtls/library/constant_time_internal.h
libmbedtls/mbedtls/library/ctr.h
libmbedtls/mbedtls/library/ctr_drbg.c
libmbedtls/mbedtls/library/debug.c
libmbedtls/mbedtls/library/debug_internal.h
libmbedtls/mbedtls/library/des.c
libmbedtls/mbedtls/library/dhm.c
libmbedtls/mbedtls/library/ecdh.c
libmbedtls/mbedtls/library/ecdsa.c
libmbedtls/mbedtls/library/ecjpake.c
libmbedtls/mbedtls/library/ecp.c
libmbedtls/mbedtls/library/ecp_curves.c
libmbedtls/mbedtls/library/ecp_curves_new.c
libmbedtls/mbedtls/library/ecp_internal_alt.h
libmbedtls/mbedtls/library/ecp_invasive.h
libmbedtls/mbedtls/library/entropy.c
libmbedtls/mbedtls/library/entropy_poll.c
libmbedtls/mbedtls/library/entropy_poll.h
libmbedtls/mbedtls/library/error.c
libmbedtls/mbedtls/library/gcm.c
libmbedtls/mbedtls/library/hkdf.c
libmbedtls/mbedtls/library/hmac_drbg.c
libmbedtls/mbedtls/library/lmots.c
libmbedtls/mbedtls/library/lmots.h
libmbedtls/mbedtls/library/lms.c
libmbedtls/mbedtls/library/md.c
libmbedtls/mbedtls/library/md5.c
libmbedtls/mbedtls/library/md_psa.h
libmbedtls/mbedtls/library/md_wrap.h
libmbedtls/mbedtls/library/memory_buffer_alloc.c
libmbedtls/mbedtls/library/net_sockets.c
libmbedtls/mbedtls/library/nist_kw.c
libmbedtls/mbedtls/library/oid.c
libmbedtls/mbedtls/library/padlock.c
libmbedtls/mbedtls/library/padlock.h
libmbedtls/mbedtls/library/pem.c
libmbedtls/mbedtls/library/pk.c
libmbedtls/mbedtls/library/pk_ecc.c
libmbedtls/mbedtls/library/pk_internal.h
libmbedtls/mbedtls/library/pk_wrap.c
libmbedtls/mbedtls/library/pk_wrap.h
libmbedtls/mbedtls/library/pkcs12.c
libmbedtls/mbedtls/library/pkcs5.c
libmbedtls/mbedtls/library/pkcs7.c
libmbedtls/mbedtls/library/pkparse.c
libmbedtls/mbedtls/library/pkwrite.c
libmbedtls/mbedtls/library/pkwrite.h
libmbedtls/mbedtls/library/platform.c
libmbedtls/mbedtls/library/platform_util.c
libmbedtls/mbedtls/library/poly1305.c
libmbedtls/mbedtls/library/psa_crypto.c
libmbedtls/mbedtls/library/psa_crypto_aead.c
libmbedtls/mbedtls/library/psa_crypto_aead.h
libmbedtls/mbedtls/library/psa_crypto_cipher.c
libmbedtls/mbedtls/library/psa_crypto_cipher.h
libmbedtls/mbedtls/library/psa_crypto_client.c
libmbedtls/mbedtls/library/psa_crypto_core.h
libmbedtls/mbedtls/library/psa_crypto_core_common.h
libmbedtls/mbedtls/library/psa_crypto_driver_wrappers.h
libmbedtls/mbedtls/library/psa_crypto_driver_wrappers_no_static.c
libmbedtls/mbedtls/library/psa_crypto_driver_wrappers_no_static.h
libmbedtls/mbedtls/library/psa_crypto_ecp.c
libmbedtls/mbedtls/library/psa_crypto_ecp.h
libmbedtls/mbedtls/library/psa_crypto_ffdh.c
libmbedtls/mbedtls/library/psa_crypto_ffdh.h
libmbedtls/mbedtls/library/psa_crypto_hash.c
libmbedtls/mbedtls/library/psa_crypto_hash.h
libmbedtls/mbedtls/library/psa_crypto_invasive.h
libmbedtls/mbedtls/library/psa_crypto_its.h
libmbedtls/mbedtls/library/psa_crypto_mac.c
libmbedtls/mbedtls/library/psa_crypto_mac.h
libmbedtls/mbedtls/library/psa_crypto_pake.c
libmbedtls/mbedtls/library/psa_crypto_pake.h
libmbedtls/mbedtls/library/psa_crypto_random_impl.h
libmbedtls/mbedtls/library/psa_crypto_rsa.c
libmbedtls/mbedtls/library/psa_crypto_rsa.h
libmbedtls/mbedtls/library/psa_crypto_se.c
libmbedtls/mbedtls/library/psa_crypto_se.h
libmbedtls/mbedtls/library/psa_crypto_slot_management.c
libmbedtls/mbedtls/library/psa_crypto_slot_management.h
libmbedtls/mbedtls/library/psa_crypto_storage.c
libmbedtls/mbedtls/library/psa_crypto_storage.h
libmbedtls/mbedtls/library/psa_its_file.c
libmbedtls/mbedtls/library/psa_util.c
libmbedtls/mbedtls/library/psa_util_internal.h
libmbedtls/mbedtls/library/ripemd160.c
libmbedtls/mbedtls/library/rsa.c
libmbedtls/mbedtls/library/rsa_alt_helpers.c
libmbedtls/mbedtls/library/rsa_alt_helpers.h
libmbedtls/mbedtls/library/rsa_internal.h
libmbedtls/mbedtls/library/sha1.c
libmbedtls/mbedtls/library/sha256.c
libmbedtls/mbedtls/library/sha3.c
libmbedtls/mbedtls/library/sha512.c
libmbedtls/mbedtls/library/ssl_cache.c
libmbedtls/mbedtls/library/ssl_ciphersuites.c
libmbedtls/mbedtls/library/ssl_ciphersuites_internal.h
libmbedtls/mbedtls/library/ssl_client.c
libmbedtls/mbedtls/library/ssl_client.h
libmbedtls/mbedtls/library/ssl_cookie.c
libmbedtls/mbedtls/library/ssl_debug_helpers.h
libmbedtls/mbedtls/library/ssl_debug_helpers_generated.c
libmbedtls/mbedtls/library/ssl_misc.h
libmbedtls/mbedtls/library/ssl_msg.c
libmbedtls/mbedtls/library/ssl_ticket.c
libmbedtls/mbedtls/library/ssl_tls.c
libmbedtls/mbedtls/library/ssl_tls12_client.c
libmbedtls/mbedtls/library/ssl_tls12_server.c
libmbedtls/mbedtls/library/ssl_tls13_client.c
libmbedtls/mbedtls/library/ssl_tls13_generic.c
libmbedtls/mbedtls/library/ssl_tls13_invasive.h
libmbedtls/mbedtls/library/ssl_tls13_keys.c
libmbedtls/mbedtls/library/ssl_tls13_keys.h
libmbedtls/mbedtls/library/ssl_tls13_server.c
libmbedtls/mbedtls/library/threading.c
libmbedtls/mbedtls/library/timing.c
libmbedtls/mbedtls/library/version.c
libmbedtls/mbedtls/library/version_features.c
libmbedtls/mbedtls/library/x509.c
libmbedtls/mbedtls/library/x509_create.c
libmbedtls/mbedtls/library/x509_crl.c
libmbedtls/mbedtls/library/x509_crt.c
libmbedtls/mbedtls/library/x509_csr.c
libmbedtls/mbedtls/library/x509_internal.h
libmbedtls/mbedtls/library/x509write.c
libmbedtls/mbedtls/library/x509write_crt.c
libmbedtls/mbedtls/library/x509write_csr.c
libmbedtls/sub.mk
86ee543b07-Mar-2024 Sami Tolvanen <samitolvanen@google.com>

core: pass TEE_ATTR_RSA_OAEP_MGF_HASH to RSA-OAEP implementations

OP-TEE currently doesn't support using a different hash for MGF1
with RSA-OAEP. However, this is required for AOSP compatibility
(e.

core: pass TEE_ATTR_RSA_OAEP_MGF_HASH to RSA-OAEP implementations

OP-TEE currently doesn't support using a different hash for MGF1
with RSA-OAEP. However, this is required for AOSP compatibility
(e.g. in EncryptionOperationsTest.RsaOaepWithMGFDigestSuccess [1]).

Pass the MGF1 attribute to crypto implementations. Note that
only libtomcrypt supports this feature at the moment, so other
implementations will either fail or fall back to libtomcrypt when
passed a different MGF1 hash.

Link: https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/main/security/keymint/aidl/vts/functional/KeyMintTest.cpp#5552 [1]
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

47d5e6cb14-Jun-2024 Jerome Forissier <jerome.forissier@linaro.org>

libutils, zlib: fix Clang warnings

Clang 18.1.6 reports the following warnings:

CC out/arm/ldelf-lib/libutils/isoc/bget_malloc.o
In file included from lib/libutils/isoc/bget_malloc.c:127:

libutils, zlib: fix Clang warnings

Clang 18.1.6 reports the following warnings:

CC out/arm/ldelf-lib/libutils/isoc/bget_malloc.o
In file included from lib/libutils/isoc/bget_malloc.c:127:
lib/libutils/isoc/bget.c:607:7: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
607 | void *bget(requested_align, hdr_size, requested_size, poolset)
| ^

And same with lib/zlib/{adler32.c,inffast.c,inflate.c,zutil.c}.

In addition, zutil.c causes:

CC out/arm/core/lib/zlib/zutil.o
core/lib/zlib/zutil.c:28:33: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
28 | const char * ZEXPORT zlibVersion()
| ^
| void

Add -Wno-deprecated-non-prototype to libutils' bget_malloc.c to silence
the first series, and simply remove -Wstrict-prototypes (added by
default by mk/compile.mk) when building zlib.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/stmm_sp.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-corstone1000/main.c
/optee_os/core/arch/arm/plat-corstone1000/platform_config.h
/optee_os/core/arch/arm/plat-hikey/platform_config.h
/optee_os/core/arch/riscv/include/kernel/stmm_sp.h
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/plat-virt/conf.mk
/optee_os/core/drivers/crypto/se050/adaptors/include/se050.h
/optee_os/core/drivers/crypto/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/pm/sam/at91_pm.h
/optee_os/core/drivers/pm/sam/pm-defines.c
/optee_os/core/drivers/pm/sam/pm_suspend.S
/optee_os/core/include/drivers/sam/sama7-ddr.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/dt.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/pseudo_ta.h
/optee_os/core/include/kernel/tee_ta_manager.h
/optee_os/core/include/kernel/user_mode_ctx_struct.h
/optee_os/core/include/kernel/user_ta.h
/optee_os/core/include/mm/core_mmu.h
/optee_os/core/include/mm/tee_mm.h
/optee_os/core/kernel/boot.c
/optee_os/core/kernel/dt.c
/optee_os/core/kernel/pseudo_ta.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/kernel/thread.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/lib/libtomcrypt/aes_accel.c
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/lib/zlib/sub.mk
/optee_os/core/mm/core_mmu.c
/optee_os/core/mm/mobj_dyn_shm.c
/optee_os/core/mm/sub.mk
/optee_os/core/mm/tee_mm.c
libutils/isoc/sub.mk
/optee_os/mk/checkconf.mk
/optee_os/scripts/ftrace_format.py
5b6f4be828-May-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: compiler friendly 32-bit FTMN_FUNC_HASH() version

Add a more compiler friendly 32-bit implementation of FTMN_FUNC_HASH().
This gives the same output as the previous 64-bit based implementation

core: compiler friendly 32-bit FTMN_FUNC_HASH() version

Add a more compiler friendly 32-bit implementation of FTMN_FUNC_HASH().
This gives the same output as the previous 64-bit based implementation,
but base the computation on 32-bit values.

This patch reduces stack usage when compiling with
arm-linux-gnueabihf-gcc version 11.3.1 using -O0 optimization. For
example, sw_crypto_acipher_rsassa_verify() is reduced from 3616 bytes to
284 bytes.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_virt)

show more ...


/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-mediatek/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/crypto/signed_hdr.c
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/clk/sam/at91_pmc.h
/optee_os/core/drivers/crypto/hisilicon/crypto.mk
/optee_os/core/drivers/crypto/hisilicon/hisi_qm.h
/optee_os/core/drivers/crypto/hisilicon/hpre_dh.c
/optee_os/core/drivers/crypto/hisilicon/hpre_dh.h
/optee_os/core/drivers/crypto/hisilicon/hpre_main.c
/optee_os/core/drivers/crypto/hisilicon/hpre_main.h
/optee_os/core/drivers/crypto/hisilicon/sec_hash.c
/optee_os/core/drivers/crypto/hisilicon/sec_hash.h
/optee_os/core/drivers/crypto/hisilicon/sec_hmac.c
/optee_os/core/drivers/crypto/hisilicon/sec_main.c
/optee_os/core/drivers/crypto/hisilicon/sec_main.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/drivers/crypto/stm32/cipher.c
/optee_os/core/drivers/ffa_console.c
/optee_os/core/drivers/firewall/firewall.c
/optee_os/core/drivers/firewall/sub.mk
/optee_os/core/drivers/pm/sam/at91_pm.c
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/atmel_shdwc.h
/optee_os/core/include/drivers/ffa_console.h
/optee_os/core/include/drivers/firewall.h
/optee_os/core/include/drivers/firewall_device.h
/optee_os/core/include/drivers/pm/sam/atmel_pm.h
/optee_os/core/include/kernel/dt_driver.h
/optee_os/core/include/kernel/interrupt.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/spinlock.h
/optee_os/core/kernel/console.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/lib/libtomcrypt/aes.c
/optee_os/core/lib/libtomcrypt/aes_accel.c
/optee_os/core/lib/libtomcrypt/rsa.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aes_desc.c
/optee_os/core/lib/libtomcrypt/src/ciphers/aes/aesni.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_test.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_memory.c
/optee_os/core/lib/libtomcrypt/src/hashes/tiger.c
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_cfg.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_cipher.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_custom.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_hash.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_mac.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_macros.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_pk.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_pkcs.h
/optee_os/core/lib/libtomcrypt/src/headers/tomcrypt_private.h
/optee_os/core/lib/libtomcrypt/src/math/fp/ltc_ecc_fp_mulmod.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_ciphers.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_hashes.c
/optee_os/core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_test.c
/optee_os/core/lib/libtomcrypt/src/misc/ssh/ssh_encode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/choice/der_decode_choice.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_encode_custom_type.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_ex.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_decode_utf8_string.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_import.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_get_key.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_import_pkcs8.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_decrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/prngs/fortuna.c
/optee_os/core/lib/libtomcrypt/src/prngs/rng_get_bytes.c
/optee_os/core/lib/libtomcrypt/sub.mk
libutils/ext/include/fault_mitigation.h
/optee_os/mk/config.mk
e716d49810-Apr-2024 Tony Han <tony.han@microchip.com>

libutils: util.h: fix the GENMASK_32(h, l) macro

The macro has a problem when it is used in an assembly file:
.e.g ".word GENMASK_32(15, 8)" will be compiled to ".word 0xffffff00"

The issue is caus

libutils: util.h: fix the GENMASK_32(h, l) macro

The macro has a problem when it is used in an assembly file:
.e.g ".word GENMASK_32(15, 8)" will be compiled to ".word 0xffffff00"

The issue is caused by the compiler always treating ~0 as a 64-bit
value. Fix it by replacing '~UINT32_C(0)' with 'UINT32_C(0xffffffff)'.

Signed-off-by: Tony Han <tony.han@microchip.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

5957a0bd22-Apr-2024 Jens Wiklander <jens.wiklander@linaro.org>

libutee: handle buffer_two_blocks correctly

For operations with buffer_two_blocks true, calculate the required size
of the out buffer (req_dlen) correctly in TEE_CipherUpdate().
tee_buffer_update()

libutee: handle buffer_two_blocks correctly

For operations with buffer_two_blocks true, calculate the required size
of the out buffer (req_dlen) correctly in TEE_CipherUpdate().
tee_buffer_update() is fixed with a matching update.

buffer_two_blocks set to true mandates buffering at least one block + a
byte and at most two full blocks.

Fix needed by TEE_ALG_AES_CTS and TEE_ALG_AES_XTS.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

aeb530a505-Mar-2024 Sami Tolvanen <samitolvanen@google.com>

libutee: process a full buffer immediately

In tee_buffer_update, libutee currently delays processing an input
block until more space is needed in the buffer, which is perfectly
valid behavior, but d

libutee: process a full buffer immediately

In tee_buffer_update, libutee currently delays processing an input
block until more space is needed in the buffer, which is perfectly
valid behavior, but doesn't match AOSP compatibility requirements.

Specifically, both CTS (testKatEncryptOneByteAtATime [1]) and VTS
(EncryptionOperationsTest.*OneByteAtATime [2]) expect block cipher
implementations to produce an output block as soon as a full block
of input has been received. Change libutee behavior to be AOSP
compatible.

Link: https://android.googlesource.com/platform/cts/+/refs/heads/main/tests/tests/keystore/src/android/keystore/cts/BlockCipherTestBase.java#779 [1]
Link: https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/main/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp#827 [2]
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/ci.yml
/optee_os/CHANGELOG.md
/optee_os/core/arch/arm/dts/at91-sama7g54_ek.dts
/optee_os/core/arch/arm/dts/sama5d2.dtsi
/optee_os/core/arch/arm/dts/sama7g5-pinfunc.h
/optee_os/core/arch/arm/dts/sama7g5.dtsi
/optee_os/core/arch/arm/dts/stm32mp251.dtsi
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/delay_arch.h
/optee_os/core/arch/arm/include/kernel/thread_private_arch.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/generic_timer.c
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/semihosting_a64.S
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/tee_time_arm_cntpct.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/kernel/timer_a64.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-amlogic/main.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2600.c
/optee_os/core/arch/arm/plat-aspeed/platform_ast2700.c
/optee_os/core/arch/arm/plat-bcm/main.c
/optee_os/core/arch/arm/plat-corstone1000/main.c
/optee_os/core/arch/arm/plat-d02/main.c
/optee_os/core/arch/arm/plat-d06/main.c
/optee_os/core/arch/arm/plat-hikey/main.c
/optee_os/core/arch/arm/plat-hisilicon/main.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-nuvoton/main.c
/optee_os/core/arch/arm/plat-poplar/main.c
/optee_os/core/arch/arm/plat-rcar/main.c
/optee_os/core/arch/arm/plat-rockchip/main.c
/optee_os/core/arch/arm/plat-rpi3/main.c
/optee_os/core/arch/arm/plat-rzg/main.c
/optee_os/core/arch/arm/plat-rzn1/main.c
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/platform_sama5d2.c
/optee_os/core/arch/arm/plat-sam/platform_sama7g5.c
/optee_os/core/arch/arm/plat-sam/sub.mk
/optee_os/core/arch/arm/plat-sprd/console.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp2/conf.mk
/optee_os/core/arch/arm/plat-stm32mp2/main.c
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-synquacer/rng_pta.c
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-totalcompute/main.c
/optee_os/core/arch/arm/plat-uniphier/main.c
/optee_os/core/arch/arm/plat-versal/main.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-vexpress/platform_config.h
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/riscv/include/kernel/delay_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_arch.h
/optee_os/core/arch/riscv/include/kernel/thread_private_arch.h
/optee_os/core/arch/riscv/include/mm/core_mmu_arch.h
/optee_os/core/arch/riscv/include/riscv.h
/optee_os/core/arch/riscv/include/sbi.h
/optee_os/core/arch/riscv/kernel/abort.c
/optee_os/core/arch/riscv/kernel/asm-defines.c
/optee_os/core/arch/riscv/kernel/boot.c
/optee_os/core/arch/riscv/kernel/csr_detect.S
/optee_os/core/arch/riscv/kernel/entry.S
/optee_os/core/arch/riscv/kernel/sbi.c
/optee_os/core/arch/riscv/kernel/sbi_console.c
/optee_os/core/arch/riscv/kernel/semihosting_rv.S
/optee_os/core/arch/riscv/kernel/sub.mk
/optee_os/core/arch/riscv/kernel/tee_time_rdtime.c
/optee_os/core/arch/riscv/kernel/thread_arch.c
/optee_os/core/arch/riscv/kernel/thread_optee_abi_rv.S
/optee_os/core/arch/riscv/kernel/thread_rv.S
/optee_os/core/arch/riscv/mm/core_mmu_arch.c
/optee_os/core/arch/riscv/plat-spike/main.c
/optee_os/core/arch/riscv/plat-virt/conf.mk
/optee_os/core/arch/riscv/plat-virt/main.c
/optee_os/core/arch/riscv/riscv.mk
/optee_os/core/core.mk
/optee_os/core/crypto.mk
/optee_os/core/drivers/atmel_tcb.c
/optee_os/core/drivers/atmel_wdt.c
/optee_os/core/drivers/clk/clk-stm32mp13.c
/optee_os/core/drivers/clk/clk.c
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/clk/sam/sama7g5_clk.c
/optee_os/core/drivers/clk/sam/sub.mk
/optee_os/core/drivers/crypto/hisilicon/hpre_main.c
/optee_os/core/drivers/crypto/hisilicon/include/hpre_main.h
/optee_os/core/drivers/crypto/hisilicon/sub.mk
/optee_os/core/drivers/crypto/stm32/stm32_cryp.c
/optee_os/core/drivers/firewall/stm32_rifsc.c
/optee_os/core/drivers/nvmem/nvmem_die_id.c
/optee_os/core/drivers/nvmem/nvmem_huk.c
/optee_os/core/drivers/nvmem/sub.mk
/optee_os/core/drivers/regulator/regulator.c
/optee_os/core/drivers/riscv_zkr_rng.c
/optee_os/core/drivers/semihosting_console.c
/optee_os/core/drivers/stm32_fmc.c
/optee_os/core/drivers/stm32_hpdma.c
/optee_os/core/drivers/stm32_hsem.c
/optee_os/core/drivers/stm32_i2c.c
/optee_os/core/drivers/stm32_ipcc.c
/optee_os/core/drivers/stm32_rng.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/console.h
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/regulator.h
/optee_os/core/include/drivers/semihosting_console.h
/optee_os/core/include/drivers/stm32_i2c.h
/optee_os/core/include/drivers/stm32_rif.h
/optee_os/core/include/drivers/stpmic1_regulator.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rif.h
/optee_os/core/include/dt-bindings/firewall/stm32mp25-rifsc.h
/optee_os/core/include/kernel/boot.h
/optee_os/core/include/kernel/callout.h
/optee_os/core/include/kernel/delay.h
/optee_os/core/include/kernel/mutex.h
/optee_os/core/include/kernel/mutex_pm_aware.h
/optee_os/core/include/kernel/notif.h
/optee_os/core/include/kernel/semihosting.h
/optee_os/core/include/kernel/spinlock.h
/optee_os/core/include/kernel/timer.h
/optee_os/core/include/kernel/wait_queue.h
/optee_os/core/include/optee_rpc_cmd.h
/optee_os/core/kernel/callout.c
/optee_os/core/kernel/console.c
/optee_os/core/kernel/delay.c
/optee_os/core/kernel/mutex.c
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/notif_default.c
/optee_os/core/kernel/panic.c
/optee_os/core/kernel/semihosting.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/tee_time.c
/optee_os/core/kernel/tee_time_ree.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/kernel/wait_queue.c
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/lib/scmi-server/sub.mk
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/core/tests/notif_test_wd.c
/optee_os/core/tests/sub.mk
/optee_os/ldelf/ta_elf.c
libutee/tee_api_operations.c
/optee_os/mk/config.mk
/optee_os/ta/pkcs11/src/processing_symm.c
/optee_os/ta/remoteproc/src/remoteproc_core.c

12345678910>>...36