History log of /optee_os/lib/ (Results 401 – 425 of 877)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7540cb7527-Apr-2020 Etienne Carriere <etienne.carriere@linaro.org>

libutils: confine_array_index: fix clang build trace for Thumb2

Avoid trace 'deprecated instruction in IT block [-Werror,-Winline-asm]'
when building with CLang. The message states performance issue

libutils: confine_array_index: fix clang build trace for Thumb2

Avoid trace 'deprecated instruction in IT block [-Werror,-Winline-asm]'
when building with CLang. The message states performance issue which
is true but prefer the performance cost over the security flaw hence
warning trace is removed without embedded code changed.

Fixes: 2b6dd0df52b4 ("confine_array_index.h: add A32 and T32 versions of confine_array_index()")
Suggested-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c7c0772025-Apr-2020 Etienne Carriere <etienne.carriere@linaro.org>

libutils: confine_array_index: fix 32bit modes implementation

Fix implementation of confine_array_index() for 32bit Arm and Thumb2
modes as previous implementation did not set the return value
expli

libutils: confine_array_index: fix 32bit modes implementation

Fix implementation of confine_array_index() for 32bit Arm and Thumb2
modes as previous implementation did not set the return value
explicitly and relied on luck with the layout of the machine code
to return the correct value.

Fixes: https://github.com/OP-TEE/optee_os/issues/3799
Fixes: 2b6dd0df52b4 ("confine_array_index.h: add A32 and T32 versions of confine_array_index()")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu,qemu_v8)
Acked-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

11fa71b920-Apr-2020 Jerome Forissier <jerome@forissier.org>

Squashed commit upgrading to mbedtls-2.22.0

Squash merging branch import/mbedtls-2.22.0

5cab03377186 ("mk/clang.mk: define libgcc$(sm)")
3607a5386a72 ("core: mbedtls: enable MBEDTLS_ECDH_LEGACY_CON

Squashed commit upgrading to mbedtls-2.22.0

Squash merging branch import/mbedtls-2.22.0

5cab03377186 ("mk/clang.mk: define libgcc$(sm)")
3607a5386a72 ("core: mbedtls: enable MBEDTLS_ECDH_LEGACY_CONTEXT")
896c8845bbda ("mbedtls: remove file md_wrap.c from build")
400b2af54fa0 ("libmbedtls: mbedtls_mpi_exp_mod(): optimize mempool usage")
777827c7af3d ("libmbedtls: mbedtls_mpi_exp_mod(): reduce stack usage")
549e4600678e ("libmbedtls: preserve mempool usage on reinit")
02d636083fe2 ("libmbedtls: mbedtls_mpi_exp_mod() initialize W")
d2ac2b3c92bf ("libmbedtls: fix no CRT issue")
f550879d5be2 ("libmbedtls: add interfaces in mbedtls for context memory operation")
219173d807ce ("libmedtls: mpi_miller_rabin: increase count limit")
7930b0b6b5e4 ("libmbedtls: add mbedtls_mpi_init_mempool()")
78af9fdc120f ("libmbedtls: make mbedtls_mpi_mont*() available")
8f7357271cc2 ("libmbedtls: refine mbedtls license header")
c5993878881f ("mbedtls: configure mbedtls to reach for config")
6f9c587783af ("mbedtls: remove default include/mbedtls/config.h")
3d3bd3b12752 ("Import mbedtls-2.22.0")

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

show more ...


libmbedtls/include/mbedtls_config_kernel.h
libmbedtls/mbedtls/CONTRIBUTING.md
libmbedtls/mbedtls/ChangeLog
libmbedtls/mbedtls/LICENSE
libmbedtls/mbedtls/README.md
libmbedtls/mbedtls/dco.txt
libmbedtls/mbedtls/include/mbedtls/aes.h
libmbedtls/mbedtls/include/mbedtls/aesni.h
libmbedtls/mbedtls/include/mbedtls/arc4.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/blowfish.h
libmbedtls/mbedtls/include/mbedtls/bn_mul.h
libmbedtls/mbedtls/include/mbedtls/camellia.h
libmbedtls/mbedtls/include/mbedtls/ccm.h
libmbedtls/mbedtls/include/mbedtls/certs.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/cipher_internal.h
libmbedtls/mbedtls/include/mbedtls/cmac.h
libmbedtls/mbedtls/include/mbedtls/compat-1.3.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/ecp_internal.h
libmbedtls/mbedtls/include/mbedtls/entropy.h
libmbedtls/mbedtls/include/mbedtls/entropy_poll.h
libmbedtls/mbedtls/include/mbedtls/error.h
libmbedtls/mbedtls/include/mbedtls/gcm.h
libmbedtls/mbedtls/include/mbedtls/havege.h
libmbedtls/mbedtls/include/mbedtls/hkdf.h
libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
libmbedtls/mbedtls/include/mbedtls/md.h
libmbedtls/mbedtls/include/mbedtls/md2.h
libmbedtls/mbedtls/include/mbedtls/md4.h
libmbedtls/mbedtls/include/mbedtls/md5.h
libmbedtls/mbedtls/include/mbedtls/md_internal.h
libmbedtls/mbedtls/include/mbedtls/memory_buffer_alloc.h
libmbedtls/mbedtls/include/mbedtls/net.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/padlock.h
libmbedtls/mbedtls/include/mbedtls/pem.h
libmbedtls/mbedtls/include/mbedtls/pk.h
libmbedtls/mbedtls/include/mbedtls/pk_internal.h
libmbedtls/mbedtls/include/mbedtls/pkcs11.h
libmbedtls/mbedtls/include/mbedtls/pkcs12.h
libmbedtls/mbedtls/include/mbedtls/pkcs5.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/psa_util.h
libmbedtls/mbedtls/include/mbedtls/ripemd160.h
libmbedtls/mbedtls/include/mbedtls/rsa.h
libmbedtls/mbedtls/include/mbedtls/rsa_internal.h
libmbedtls/mbedtls/include/mbedtls/sha1.h
libmbedtls/mbedtls/include/mbedtls/sha256.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_internal.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/mbedtls/xtea.h
libmbedtls/mbedtls/library/aes.c
libmbedtls/mbedtls/library/asn1parse.c
libmbedtls/mbedtls/library/asn1write.c
libmbedtls/mbedtls/library/bignum.c
libmbedtls/mbedtls/library/ccm.c
libmbedtls/mbedtls/library/certs.c
libmbedtls/mbedtls/library/chacha20.c
libmbedtls/mbedtls/library/chachapoly.c
libmbedtls/mbedtls/library/cipher.c
libmbedtls/mbedtls/library/cipher_wrap.c
libmbedtls/mbedtls/library/cmac.c
libmbedtls/mbedtls/library/ctr_drbg.c
libmbedtls/mbedtls/library/debug.c
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/entropy.c
libmbedtls/mbedtls/library/entropy_poll.c
libmbedtls/mbedtls/library/error.c
libmbedtls/mbedtls/library/gcm.c
libmbedtls/mbedtls/library/havege.c
libmbedtls/mbedtls/library/hkdf.c
libmbedtls/mbedtls/library/hmac_drbg.c
libmbedtls/mbedtls/library/md.c
libmbedtls/mbedtls/library/md2.c
libmbedtls/mbedtls/library/md4.c
libmbedtls/mbedtls/library/md5.c
libmbedtls/mbedtls/library/net_sockets.c
libmbedtls/mbedtls/library/nist_kw.c
libmbedtls/mbedtls/library/oid.c
libmbedtls/mbedtls/library/pem.c
libmbedtls/mbedtls/library/pk.c
libmbedtls/mbedtls/library/pk_wrap.c
libmbedtls/mbedtls/library/pkcs12.c
libmbedtls/mbedtls/library/pkcs5.c
libmbedtls/mbedtls/library/pkparse.c
libmbedtls/mbedtls/library/pkwrite.c
libmbedtls/mbedtls/library/platform.c
libmbedtls/mbedtls/library/poly1305.c
libmbedtls/mbedtls/library/ripemd160.c
libmbedtls/mbedtls/library/rsa.c
libmbedtls/mbedtls/library/sha1.c
libmbedtls/mbedtls/library/sha256.c
libmbedtls/mbedtls/library/sha512.c
libmbedtls/mbedtls/library/ssl_cache.c
libmbedtls/mbedtls/library/ssl_ciphersuites.c
libmbedtls/mbedtls/library/ssl_cli.c
libmbedtls/mbedtls/library/ssl_cookie.c
libmbedtls/mbedtls/library/ssl_msg.c
libmbedtls/mbedtls/library/ssl_srv.c
libmbedtls/mbedtls/library/ssl_ticket.c
libmbedtls/mbedtls/library/ssl_tls.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/x509write_crt.c
libmbedtls/mbedtls/library/x509write_csr.c
libmbedtls/sub.mk
/optee_os/mk/clang.mk
21282bae16-Apr-2020 Jerome Forissier <jerome@forissier.org>

core: crypto: ECC: make sure key_size is consistent with attributes

TEE_GenerateKey() takes a key_size argument and various attributes. If
the size derived from the attributes is not key_size, we sh

core: crypto: ECC: make sure key_size is consistent with attributes

TEE_GenerateKey() takes a key_size argument and various attributes. If
the size derived from the attributes is not key_size, we should return
TEE_ERROR_BAD_PARAMETERS as per the GP TEE Internal Core API
specification v1.2.1: "If an incorrect or inconsistent attribute is
detected. The checks that are performed depend on the implementation.".

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

show more ...

9f4dcefb16-Apr-2020 Jerome Forissier <jerome@forissier.org>

core: crypto: DH: make sure key_size is consistent with attributes

TEE_GenerateKey() takes a key_size argument and various attributes. For
Diffie-Hellman, if the size of the prime number (TEE_ATTR_D

core: crypto: DH: make sure key_size is consistent with attributes

TEE_GenerateKey() takes a key_size argument and various attributes. For
Diffie-Hellman, if the size of the prime number (TEE_ATTR_DH_PRIME) is
not key_size, we should return TEE_ERROR_BAD_PARAMETERS as per the GP
TEE Internal Core API specification v1.2.1: "If an incorrect or
inconsistent attribute is detected. The checks that are performed
depend on the implementation.".

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

show more ...


/optee_os/.github/issue_template.md
/optee_os/.github/pull_request_template.md
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-stm32mp1/conf.mk
/optee_os/core/arch/arm/plat-stm32mp1/nsec-service/stm32mp1_smc.h
/optee_os/core/arch/arm/plat-stm32mp1/nsec-service/stm32mp1_svc_setup.c
/optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c
/optee_os/core/arch/arm/plat-stm32mp1/sub.mk
/optee_os/core/arch/arm/plat-uniphier/conf.mk
/optee_os/core/arch/arm/plat-uniphier/kern.ld.S
/optee_os/core/arch/arm/plat-uniphier/link.mk
/optee_os/core/arch/arm/plat-uniphier/main.c
/optee_os/core/arch/arm/plat-uniphier/platform_config.h
/optee_os/core/arch/arm/plat-uniphier/sub.mk
/optee_os/core/crypto/crypto.c
/optee_os/core/drivers/crypto/caam/caam_desc.c
/optee_os/core/drivers/crypto/caam/caam_jr.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_jr.c
/optee_os/core/drivers/crypto/caam/include/caam_common.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_helper.h
/optee_os/core/drivers/crypto/caam/include/caam_jr.h
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/dt-bindings/clock/stm32mp1-clks.h
/optee_os/core/include/dt-bindings/reset/stm32mp1-resets.h
/optee_os/core/lib/libtomcrypt/dh.c
/optee_os/core/lib/libtomcrypt/dsa.c
/optee_os/core/tee/tee_svc_cryp.c
libmbedtls/core/dh.c
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/entry.c
/optee_os/ta/pkcs11/src/persistent_token.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.h
/optee_os/ta/pkcs11/src/pkcs11_token.c
/optee_os/ta/pkcs11/src/pkcs11_token.h
b213d8bd08-Apr-2020 Etienne Carriere <etienne.carriere@linaro.org>

pta: invoke_test.pta: add test on null memref parameter

Add command PTA_INVOKE_TESTS_CMD_MEMREF_NULL to test invocation
of a PTA with a memref parameter with a NULL buffer reference.
The PTA should

pta: invoke_test.pta: add test on null memref parameter

Add command PTA_INVOKE_TESTS_CMD_MEMREF_NULL to test invocation
of a PTA with a memref parameter with a NULL buffer reference.
The PTA should successfully be invoked with a valid memref
parameter yet referring to a NULL buffer pointer.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Cedric Neveux <cedric.neveux@nxp.com>

show more ...

5b25c76a07-Apr-2020 Jerome Forissier <jerome@forissier.org>

Squashed commit upgrading to mbedtls-2.16.5

Squash merging branch import/mbedtls-2.16.5

058aefb2bfa4 ("core: mbedtls: use SHA-256 crypto accelerated routines")
bcef9baed8f1 ("core: mbedtls: use SHA

Squashed commit upgrading to mbedtls-2.16.5

Squash merging branch import/mbedtls-2.16.5

058aefb2bfa4 ("core: mbedtls: use SHA-256 crypto accelerated routines")
bcef9baed8f1 ("core: mbedtls: use SHA-1 crypto accelerated routines")
c9359f31db12 ("core: mbedtls: use AES crypto accelerated routines")
0e6c1e2642c7 ("core: merge tee_*_get_digest_size() into a single function")
0cb3c28a2f4d ("libmbedtls: mbedtls_mpi_exp_mod(): optimize mempool usage")
5abf0e6ab72e ("libmbedtls: mbedtls_mpi_exp_mod(): reduce stack usage")
2ccc08ac7fef ("libmbedtls: preserve mempool usage on reinit")
cd2a24648569 ("libmbedtls: mbedtls_mpi_exp_mod() initialize W")
7727182ecb56 ("libmbedtls: fix no CRT issue")
120737075dcf ("libmbedtls: add interfaces in mbedtls for context memory operation")
1126250b3af8 ("libmbedtls: add missing source file chachapoly.c")
23972e9f1c98 ("libmedtls: mpi_miller_rabin: increase count limit")
1fcbc05b3cd2 ("libmbedtls: add mbedtls_mpi_init_mempool()")
66e03f068078 ("libmbedtls: make mbedtls_mpi_mont*() available")
d07e0ce56236 ("libmbedtls: refine mbedtls license header")
491ee2cd0ff4 ("mbedtls: configure mbedtls to reach for config")
9b6cee685d9a ("mbedtls: remove default include/mbedtls/config.h")
84f7467a0a91 ("Import mbedtls-2.16.5")

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

show more ...


/optee_os/core/arch/arm/crypto/aes-gcm-ce.c
/optee_os/core/arch/arm/crypto/aes_armv8a_ce.h
/optee_os/core/arch/arm/crypto/aes_modes_armv8a_ce_a32.S
/optee_os/core/arch/arm/crypto/aes_modes_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/ghash-ce-core_a32.S
/optee_os/core/arch/arm/crypto/ghash-ce-core_a64.S
/optee_os/core/arch/arm/include/crypto/ghash-ce-core.h
/optee_os/core/crypto/aes-gcm-ghash-tbl.c
/optee_os/core/crypto/aes-gcm-sw.c
/optee_os/core/crypto/aes-gcm.c
/optee_os/core/crypto/sub.mk
/optee_os/core/include/crypto/internal_aes-gcm.h
/optee_os/core/kernel/lockdep.c
/optee_os/core/tee/tee_svc.c
libmbedtls/mbedtls/CONTRIBUTING.md
libmbedtls/mbedtls/ChangeLog
libmbedtls/mbedtls/README.md
libmbedtls/mbedtls/include/mbedtls/aes.h
libmbedtls/mbedtls/include/mbedtls/aesni.h
libmbedtls/mbedtls/include/mbedtls/arc4.h
libmbedtls/mbedtls/include/mbedtls/asn1write.h
libmbedtls/mbedtls/include/mbedtls/base64.h
libmbedtls/mbedtls/include/mbedtls/bignum.h
libmbedtls/mbedtls/include/mbedtls/bn_mul.h
libmbedtls/mbedtls/include/mbedtls/camellia.h
libmbedtls/mbedtls/include/mbedtls/ccm.h
libmbedtls/mbedtls/include/mbedtls/certs.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-1.3.h
libmbedtls/mbedtls/include/mbedtls/ctr_drbg.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/ecp_internal.h
libmbedtls/mbedtls/include/mbedtls/error.h
libmbedtls/mbedtls/include/mbedtls/gcm.h
libmbedtls/mbedtls/include/mbedtls/havege.h
libmbedtls/mbedtls/include/mbedtls/hkdf.h
libmbedtls/mbedtls/include/mbedtls/hmac_drbg.h
libmbedtls/mbedtls/include/mbedtls/md2.h
libmbedtls/mbedtls/include/mbedtls/md4.h
libmbedtls/mbedtls/include/mbedtls/md5.h
libmbedtls/mbedtls/include/mbedtls/net.h
libmbedtls/mbedtls/include/mbedtls/nist_kw.h
libmbedtls/mbedtls/include/mbedtls/padlock.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/platform_util.h
libmbedtls/mbedtls/include/mbedtls/poly1305.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/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_internal.h
libmbedtls/mbedtls/include/mbedtls/ssl_ticket.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/mbedtls/xtea.h
libmbedtls/mbedtls/library/aes.c
libmbedtls/mbedtls/library/asn1write.c
libmbedtls/mbedtls/library/bignum.c
libmbedtls/mbedtls/library/ccm.c
libmbedtls/mbedtls/library/certs.c
libmbedtls/mbedtls/library/chacha20.c
libmbedtls/mbedtls/library/cipher.c
libmbedtls/mbedtls/library/ctr_drbg.c
libmbedtls/mbedtls/library/debug.c
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/error.c
libmbedtls/mbedtls/library/havege.c
libmbedtls/mbedtls/library/hmac_drbg.c
libmbedtls/mbedtls/library/md4.c
libmbedtls/mbedtls/library/md5.c
libmbedtls/mbedtls/library/net_sockets.c
libmbedtls/mbedtls/library/oid.c
libmbedtls/mbedtls/library/pkparse.c
libmbedtls/mbedtls/library/pkwrite.c
libmbedtls/mbedtls/library/platform_util.c
libmbedtls/mbedtls/library/poly1305.c
libmbedtls/mbedtls/library/ripemd160.c
libmbedtls/mbedtls/library/rsa.c
libmbedtls/mbedtls/library/sha1.c
libmbedtls/mbedtls/library/sha256.c
libmbedtls/mbedtls/library/sha512.c
libmbedtls/mbedtls/library/ssl_ciphersuites.c
libmbedtls/mbedtls/library/ssl_srv.c
libmbedtls/mbedtls/library/ssl_tls.c
libmbedtls/mbedtls/library/timing.c
libmbedtls/mbedtls/library/version_features.c
libmbedtls/mbedtls/library/x509.c
libmbedtls/mbedtls/library/x509_crl.c
libmbedtls/mbedtls/library/x509_crt.c
libmbedtls/mbedtls/library/x509_csr.c
libmbedtls/mbedtls/library/x509write_crt.c
libmbedtls/mbedtls/library/x509write_csr.c
libmbedtls/sub.mk
/optee_os/mk/config.mk
5b2aaa1130-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

libutee: optimize memcpy() for speed

Overrides the -Os flag with -O2 in order to compile a speed optimized
version of memcpy().

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-b

libutee: optimize memcpy() for speed

Overrides the -Os flag with -O2 in order to compile a speed optimized
version of memcpy().

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2fc5dc9530-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

core: mbedtls: use SHA-256 crypto accelerated routines

Uses the recently provided accelerated SHA-256 routine.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander

core: mbedtls: use SHA-256 crypto accelerated routines

Uses the recently provided accelerated SHA-256 routine.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

734545da30-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

core: mbedtls: use SHA-1 crypto accelerated routines

Uses the recently provided accelerated SHA-1 routine.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <je

core: mbedtls: use SHA-1 crypto accelerated routines

Uses the recently provided accelerated SHA-1 routine.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

10b9079130-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

core: mbedtls: use AES crypto accelerated routines

Uses the recently provided accelerated AES crypto routines in mbedtls.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jen

core: mbedtls: use AES crypto accelerated routines

Uses the recently provided accelerated AES crypto routines in mbedtls.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8589833830-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

pta: invoke_test.pta: add aes performance test

Adds test PTA function to run performance test with xtest --aes-perf.

Reviewed-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Jens Wikland

pta: invoke_test.pta: add aes performance test

Adds test PTA function to run performance test with xtest --aes-perf.

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

show more ...

7acaf5ad01-Apr-2020 Albert Schwarzkopf <a.schwarzkopf@phytec.de>

libutee: Remove ae_tag_len from __TEE_OperationHandle

Remove ae_tag_len from __TEE_OperationHandle structure, since
that information is available in the TEE_OperationInfo.digestLength
field.

Signed

libutee: Remove ae_tag_len from __TEE_OperationHandle

Remove ae_tag_len from __TEE_OperationHandle structure, since
that information is available in the TEE_OperationInfo.digestLength
field.

Signed-off-by: Albert Schwarzkopf <a.schwarzkopf@phytec.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

7c76743402-Apr-2020 Albert Schwarzkopf <a.schwarzkopf@phytec.de>

core: merge tee_*_get_digest_size() into a single function

Rename tee_hash_get_digest_size() to tee_alg_get_digest_size().

Change tee_alg_get_digest_size() to use new libutee macro
TEE_ALG_GET_DIGE

core: merge tee_*_get_digest_size() into a single function

Rename tee_hash_get_digest_size() to tee_alg_get_digest_size().

Change tee_alg_get_digest_size() to use new libutee macro
TEE_ALG_GET_DIGEST_SIZE.

Remove tee_mac_get_digest_size() as its functionality
is handled by tee_alg_get_digest_size() now.

Signed-off-by: Albert Schwarzkopf <a.schwarzkopf@phytec.de>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2e5e646002-Apr-2020 Albert Schwarzkopf <a.schwarzkopf@phytec.de>

libutee: Set digestLength value in TEE_OperationInfo structure

Set digestLength as specified in TEE Internal Core API,
section 6.2.3.

Introduce a new macro TEE_ALG_GET_DIGEST_SIZE() to utee_defines

libutee: Set digestLength value in TEE_OperationInfo structure

Set digestLength as specified in TEE Internal Core API,
section 6.2.3.

Introduce a new macro TEE_ALG_GET_DIGEST_SIZE() to utee_defines.h,
combining the implementation of tee_hash_get_digest_size() and
tee_mac_get_digest_size()

Fixes: https://github.com/OP-TEE/optee_os/issues/3471

Signed-off-by: Albert Schwarzkopf <a.schwarzkopf@phytec.de>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

a31e830301-Apr-2020 Jerome Forissier <jerome@forissier.org>

Remove '.section .text.<name>' and use function macros instead

Assembler functions are normally defined using the FUNC/LOCAL_FUNC
macros from <asm.S>. The macros takes care of several things, includ

Remove '.section .text.<name>' and use function macros instead

Assembler functions are normally defined using the FUNC/LOCAL_FUNC
macros from <asm.S>. The macros takes care of several things, including
putting the function in a specific section for later garbage collection
by the linker (--gc-sections).

A few files do not follow this convention, let's fix them. Two
functions in ghash-ce-core_a64.S (pmull_gcm_load_round_keys() and
pmull_gcm_aes_sub()) totally lack a .section directive, which I think
is a mistake. Fix them at the same time.

No functional change is expected.

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

show more ...

78f462f623-Mar-2020 Sumit Garg <sumit.garg@linaro.org>

core: add TEE_LOGIN_REE_KERNEL login method

Add private login method for REE kernel clients to invoke TAs. It allows
a TA to distinguish among normal world clients whether its a REE kernel
client or

core: add TEE_LOGIN_REE_KERNEL login method

Add private login method for REE kernel clients to invoke TAs. It allows
a TA to distinguish among normal world clients whether its a REE kernel
client or a REE user-space client.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>

show more ...

a73ebd4719-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

util.h: add ROUNDUP_DIV(x, y) macro

Adds the ROUNDUP_DIV(x, y) macro which Rounds up to the nearest multiple
of y and then divides by y. Safe against overflow, y has to be a
multiple of 2 just as in

util.h: add ROUNDUP_DIV(x, y) macro

Adds the ROUNDUP_DIV(x, y) macro which Rounds up to the nearest multiple
of y and then divides by y. Safe against overflow, y has to be a
multiple of 2 just as in the other two ROUNDUP*() macros.

This macro is intended to be used to convert from "number of bytes" to
"number of pages" or similar units. Example:
num_pages = ROUNDUP_DIV(num_bytes, SMALL_PAGE_SIZE);

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

show more ...

70ed8fd506-Mar-2020 Jerome Forissier <jerome@forissier.org>

libutee: arm64: update register accessor macros to support Clang

When building a 64-bit TA that includes <arm64_user_sysreg.h>, Clang
complains about ASM operand width:

lib/libutee/include/arm64_u

libutee: arm64: update register accessor macros to support Clang

When building a 64-bit TA that includes <arm64_user_sysreg.h>, Clang
complains about ASM operand width:

lib/libutee/include/arm64_user_sysreg.h:31:1: error: value size does not match register size specified by the constraint and modifier [-Werror,-Wasm-operand-widths]
DEFINE_REG_READ_FUNC_(cntfrq, uint32_t, cntfrq_el0)
^
lib/libutee/include/arm64_user_sysreg.h:20:42: note: expanded from macro 'DEFINE_REG_READ_FUNC_'
asm volatile("mrs %0, " #asmreg : "=r" (val)); \
^
lib/libutee/include/arm64_user_sysreg.h:31:1: note: use constraint modifier "w"
lib/libutee/include/arm64_user_sysreg.h:20:20: note: expanded from macro 'DEFINE_REG_READ_FUNC_'
asm volatile("mrs %0, " #asmreg : "=r" (val)); \
^
Let's apply the same fix as in commit 16e2153c57f0 ("core: arm64:
update register accessor macros to support Clang").

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

show more ...

f88850d411-Mar-2020 Jerome Forissier <jerome@forissier.org>

libutils: add __noreturn to longjmp() prototype

The longjmp() function does not return, therefore it should have the
__noreturn attribute. Avoids compiler warnings.

Signed-off-by: Jerome Forissier

libutils: add __noreturn to longjmp() prototype

The longjmp() function does not return, therefore it should have the
__noreturn attribute. Avoids compiler warnings.

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

show more ...

2b6dd0df03-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

confine_array_index.h: add A32 and T32 versions of confine_array_index()

Adds inline assembly implementations for the A32 and T32 instruction
sets. The implementation is based on __load_no_speculate

confine_array_index.h: add A32 and T32 versions of confine_array_index()

Adds inline assembly implementations for the A32 and T32 instruction
sets. The implementation is based on __load_no_speculate1() in
<speculation_barrier.h>.

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

show more ...

6b40e45203-Mar-2020 Jens Wiklander <jens.wiklander@linaro.org>

libutils: import confine_array_index.h from Fuchsia

Imports confine_array_index.h from [1].

Replaced include statements to suit OP-TEE and removed the namespace
directive. Added content from [2] as

libutils: import confine_array_index.h from Fuchsia

Imports confine_array_index.h from [1].

Replaced include statements to suit OP-TEE and removed the namespace
directive. Added content from [2] as a comment to clarify the license.

The speculation safe function confine_array_index() is provided with
this.

Note that only AArch64 and x86_64 versions of the function is implemented
in this commit.

Link: [1] https://fuchsia.googlesource.com/fuchsia/+/39d9b8c2dbb0f6133a835676f8f669b07aca6b30/zircon/system/ulib/fbl/include/fbl/confine_array_index.h
Link: [2] https://fuchsia.googlesource.com/fuchsia/+/39d9b8c2dbb0f6133a835676f8f669b07aca6b30/LICENSE

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

show more ...


/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/generic_entry_a64.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies_init.c
/optee_os/core/arch/arm/kernel/link_dummies_paged.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/crypto_conf.mk
/optee_os/core/arch/arm/tee/arch_svc.c
/optee_os/core/drivers/crypto/caam/acipher/caam_math.c
/optee_os/core/drivers/crypto/caam/acipher/caam_prime.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/acipher/local.h
/optee_os/core/drivers/crypto/caam/acipher/sub.mk
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/common/registers/version_regs.h
/optee_os/core/drivers/crypto/caam/include/caam_acipher.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_ccb_defines.h
/optee_os/core/drivers/crypto/caam/include/caam_desc_defines.h
/optee_os/core/drivers/crypto/caam/include/caam_hal_ctrl.h
/optee_os/core/drivers/crypto/caam/include/caam_jr_status.h
/optee_os/core/drivers/crypto/caam/include/caam_trace.h
/optee_os/core/drivers/crypto/caam/include/caam_utils_mem.h
/optee_os/core/drivers/crypto/caam/sub.mk
/optee_os/core/drivers/crypto/caam/utils/utils_mem.c
/optee_os/core/drivers/crypto/crypto_api/acipher/local.h
/optee_os/core/drivers/crypto/crypto_api/acipher/rsa.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsamgf.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsassa.c
/optee_os/core/drivers/crypto/crypto_api/acipher/sub.mk
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt.h
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_acipher.h
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_asn1_oid.h
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_hash.h
/optee_os/core/drivers/crypto/crypto_api/include/drvcrypt_math.h
/optee_os/core/drivers/crypto/crypto_api/math/modulus.c
/optee_os/core/drivers/crypto/crypto_api/math/sub.mk
/optee_os/core/drivers/crypto/crypto_api/oid/hash_oid.c
/optee_os/core/drivers/crypto/crypto_api/oid/sub.mk
/optee_os/core/drivers/crypto/crypto_api/sub.mk
libutils/ext/include/confine_array_index.h
/optee_os/ta/arch/arm/ta.ld.S
/optee_os/ta/pkcs11/include/pkcs11_ta.h
/optee_os/ta/pkcs11/src/entry.c
/optee_os/ta/pkcs11/src/persistent_token.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.c
/optee_os/ta/pkcs11/src/pkcs11_helpers.h
/optee_os/ta/pkcs11/src/pkcs11_token.c
/optee_os/ta/pkcs11/src/pkcs11_token.h
/optee_os/ta/pkcs11/src/sub.mk
dd655cb914-Feb-2020 Jerome Forissier <jerome@forissier.org>

ldelf, ta: add support for DT_INIT_ARRAY and DT_FINI_ARRAY

Adds support for running initialization and finalization functions in
TA ELF files. Such functions are used, for instance, by C++ compilers

ldelf, ta: add support for DT_INIT_ARRAY and DT_FINI_ARRAY

Adds support for running initialization and finalization functions in
TA ELF files. Such functions are used, for instance, by C++ compilers
to construct and destruct global objects. They can also be used in C
thanks to __attribute__((constructor)) and __attribute__((destructor)).

A global structure is added to libutee. ldelf is responsible for
filling it with the addresses of the functions pointer arrays present
in the ELF files whenever such a file is loaded. Since the number of
arrays is unknown at compile time (it depends on how many ELF files are
loaded, and whether they have constructors or destructors), memory is
allocated on the TA heap.

Two helper functions are introduced: __utee_call_elf_init_fn() and
__utee_call_elf_fini_fn(). They are used when the TA instance is
created and torn down, as well as by dlopen().

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU, QEMUv8, HiKey960 32/64)
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

ca171ad218-Feb-2020 Jerome Forissier <jerome@forissier.org>

libutee: remove utee_misc.h and utee_misc.c

utee_misc.{h,c} contain an unused function: utee_get_ta_exec_id(), and
nothing else. Remove them.

Signed-off-by: Jerome Forissier <jerome@forissier.org>

libutee: remove utee_misc.h and utee_misc.c

utee_misc.{h,c} contain an unused function: utee_get_ta_exec_id(), and
nothing else. Remove them.

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

show more ...

dd333f0320-Jan-2020 Javier Almansa Sobrino <javier.almansasobrino@arm.com>

core: Add support to access a TPM event log in secure memory.

Support for OPTEE to be able to receive a TPM event log through
a DTB so it can forward it to a TA (such as a TPM service)
in order to e

core: Add support to access a TPM event log in secure memory.

Support for OPTEE to be able to receive a TPM event log through
a DTB so it can forward it to a TA (such as a TPM service)
in order to extend the measurements.

CFG_CORE_TPM_EVENT_LOG enables this feature.
CFG_TPM_LOG_BASE_ADDR hardcodes the phys address of the event log
in case CFG_DT is not set.
CFG_TPM_MAX_LOG_SIZE harcodes the size of the event log in case
CFG_DT is not set.

When this feature is enabled, the PTA_SYSTEM_GET_TPM_EVENT_LOG
command is available to any TA.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

1...<<11121314151617181920>>...36