History log of /optee_os/ (Results 5226 – 5250 of 8383)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
172d637b11-Sep-2019 Cedric Auger <cauger@provenrun.com>

libutee: panic on null pointer on object opening

Change TEE_CreatePersistentObject() and TEE_OpenPersistentObject()
to panic when passed an null reference pointer.

According to the TEE Internal Cor

libutee: panic on null pointer on object opening

Change TEE_CreatePersistentObject() and TEE_OpenPersistentObject()
to panic when passed an null reference pointer.

According to the TEE Internal Core API Specification 1.1 and 1.2,
sections 5.7.1 and 5.7.2, passing NULL for object pointer should panic,
and not return an error.

Some harmonization has also been done in these two functions to use
the same conventions as surrounding code.

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

show more ...

5a913ee720-Aug-2019 Jerome Forissier <jerome@forissier.org>

Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819

Squash merging branch import/libtomcrypt-1.18.2-develop-20180819

5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt")
54d

Squashed commit upgrading to libtomcrypt-1.18.2-develop-20180819

Squash merging branch import/libtomcrypt-1.18.2-develop-20180819

5ecac6e9227c ("core: ltc: adapt to new version of LibTomCrypt")
54d7f2f10c33 ("core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector")
68b1adf4c3db ("core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax")
b73cfbef058f ("core: ltc: make key in accel_ecb_encrypt() and accel_ecb_decrypt() const")
7160452f6698 ("core: ltc: fix 'switch case misses default'")
05313fd03df1 ("core: ltc: move AES CE files under aes/")
00ed54001f7d ("core: ltc: add custom DH key generation function dh_make_key()")
279e09ee4c7c ("core: ltc: tomcrypt_custom.h: OP-TEE thread support")
e61adb1a2203 ("core: crypto: libtomcrypt: fix LTC_CLEAN_STACK bug")
5c75c2d02f13 ("core: LTC use only _CFG_CORE_LTC_ variables")
5decfe20864a ("core: crypto: arm64 ce: update AES CBC routines")
c54b6344cc4e ("core: crypto: cleanup and fix CE accelerated AES CTR")
3f4d78d04eef ("core: crypto: arm32: add counter increment in ce_aes_ctr_encrypt()")
a85a4f88e39d ("Remove 'All rights reserved' from Linaro files")
14ec45d62762 ("Remove license notice from Linaro files")
084691667db2 ("Add SPDX license identifiers")
48de810896b8 ("LTC: add GHASH acceleration")
9f4ecf2ea898 ("arm32: AES using ARMv8-A cryptographic extensions")
a360627e4130 ("arm64: libtomcrypt: rename AES CE files")
48dab9f6464b ("arm64: libtomcrypt: move inline assembly to .S file")
7479ed2a4be9 ("ltc: bugfix find_prng()")
271db0fe9309 ("ltc: make cipher_descriptor a pointer to descriptors")
cbf6e51b6086 ("ltc: make hash_descriptor a pointer to descriptors")
6982b2b65910 ("ltc: make prng_descriptor a pointer to descriptors")
034ed64a6bb2 ("arm: Fix SHA-1 with cryptographic extensions")
468fcca20d8b ("arm64: SHA-224/SHA-256 using ARMv8-A cryptographic extensions")
a55567f8611c ("arm: update SHA-256 32-bit CE implementation to process multiple blocks")
ee62ece8ecf4 ("arm: update SHA-1 32-bit CE implementation to process multiple blocks")
4287faa43c7c ("arm64: SHA-1 using ARMv8-A cryptographic extensions")
0c6c51d33f05 ("ECC: optimize the pool of temporary variables")
f79f07210b95 ("arm64: AES XTS using ARMv8-A cryptographic extensions")
dc3e64eee4af ("arm64: AES using ARMv8-A cryptographic extensions")
fcad408195d8 ("SHA-1 ARMv8 crypto extension implementation")
e9fa8daa66ed ("SHA-256 ARMv8 crypto extension implementation")
36c11ddb0f2f ("Import LibTomCrypt v1.18.2 branch "develop" (Aug 19, 2019)")
01c7a0fe164c ("Remove LibTomCrypt")

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

show more ...


core/lib/libtomcrypt/aes.c
core/lib/libtomcrypt/cbc.c
core/lib/libtomcrypt/ccm.c
core/lib/libtomcrypt/cmac.c
core/lib/libtomcrypt/ctr.c
core/lib/libtomcrypt/dh.c
core/lib/libtomcrypt/dsa.c
core/lib/libtomcrypt/ecb.c
core/lib/libtomcrypt/ecc.c
core/lib/libtomcrypt/gcm.c
core/lib/libtomcrypt/hash.c
core/lib/libtomcrypt/hmac.c
core/lib/libtomcrypt/mpa_desc.c
core/lib/libtomcrypt/mpi_desc.c
core/lib/libtomcrypt/rsa.c
core/lib/libtomcrypt/src/ciphers/aes/aes.c
core/lib/libtomcrypt/src/ciphers/aes/aes_armv8a_ce.c
core/lib/libtomcrypt/src/ciphers/aes/aes_modes_armv8a_ce_a32.S
core/lib/libtomcrypt/src/ciphers/aes/aes_modes_armv8a_ce_a64.S
core/lib/libtomcrypt/src/ciphers/aes/aes_tab.c
core/lib/libtomcrypt/src/ciphers/aes/sub.mk
core/lib/libtomcrypt/src/ciphers/anubis.c
core/lib/libtomcrypt/src/ciphers/blowfish.c
core/lib/libtomcrypt/src/ciphers/camellia.c
core/lib/libtomcrypt/src/ciphers/cast5.c
core/lib/libtomcrypt/src/ciphers/des.c
core/lib/libtomcrypt/src/ciphers/idea.c
core/lib/libtomcrypt/src/ciphers/kasumi.c
core/lib/libtomcrypt/src/ciphers/khazad.c
core/lib/libtomcrypt/src/ciphers/kseed.c
core/lib/libtomcrypt/src/ciphers/multi2.c
core/lib/libtomcrypt/src/ciphers/noekeon.c
core/lib/libtomcrypt/src/ciphers/rc2.c
core/lib/libtomcrypt/src/ciphers/rc5.c
core/lib/libtomcrypt/src/ciphers/rc6.c
core/lib/libtomcrypt/src/ciphers/safer/safer.c
core/lib/libtomcrypt/src/ciphers/safer/safer_tab.c
core/lib/libtomcrypt/src/ciphers/safer/saferp.c
core/lib/libtomcrypt/src/ciphers/serpent.c
core/lib/libtomcrypt/src/ciphers/skipjack.c
core/lib/libtomcrypt/src/ciphers/sub.mk
core/lib/libtomcrypt/src/ciphers/twofish/twofish.c
core/lib/libtomcrypt/src/ciphers/twofish/twofish_tab.c
core/lib/libtomcrypt/src/ciphers/xtea.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_add_aad.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_add_nonce.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_done.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_init.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_memory.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_process.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_reset.c
core/lib/libtomcrypt/src/encauth/ccm/ccm_test.c
core/lib/libtomcrypt/src/encauth/ccm/sub.mk
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_add_aad.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_decrypt.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_done.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_encrypt.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_init.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_memory.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_setiv.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_setiv_rfc7905.c
core/lib/libtomcrypt/src/encauth/chachapoly/chacha20poly1305_test.c
core/lib/libtomcrypt/src/encauth/eax/eax_addheader.c
core/lib/libtomcrypt/src/encauth/eax/eax_decrypt.c
core/lib/libtomcrypt/src/encauth/eax/eax_decrypt_verify_memory.c
core/lib/libtomcrypt/src/encauth/eax/eax_done.c
core/lib/libtomcrypt/src/encauth/eax/eax_encrypt.c
core/lib/libtomcrypt/src/encauth/eax/eax_encrypt_authenticate_memory.c
core/lib/libtomcrypt/src/encauth/eax/eax_init.c
core/lib/libtomcrypt/src/encauth/eax/eax_test.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_add_aad.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_add_iv.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_done.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_gf_mult.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_init.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_memory.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_mult_h.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_process.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_reset.c
core/lib/libtomcrypt/src/encauth/gcm/gcm_test.c
core/lib/libtomcrypt/src/encauth/gcm/sub.mk
core/lib/libtomcrypt/src/encauth/ocb/ocb_decrypt.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_decrypt_verify_memory.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_done_decrypt.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_done_encrypt.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_encrypt.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_encrypt_authenticate_memory.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_init.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_ntz.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_shift_xor.c
core/lib/libtomcrypt/src/encauth/ocb/ocb_test.c
core/lib/libtomcrypt/src/encauth/ocb/s_ocb_done.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_add_aad.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_decrypt.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_decrypt_last.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_decrypt_verify_memory.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_done.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_encrypt.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_encrypt_authenticate_memory.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_encrypt_last.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_init.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_int_ntz.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_int_xor_blocks.c
core/lib/libtomcrypt/src/encauth/ocb3/ocb3_test.c
core/lib/libtomcrypt/src/hashes/blake2b.c
core/lib/libtomcrypt/src/hashes/blake2s.c
core/lib/libtomcrypt/src/hashes/chc/chc.c
core/lib/libtomcrypt/src/hashes/helper/hash_file.c
core/lib/libtomcrypt/src/hashes/helper/hash_filehandle.c
core/lib/libtomcrypt/src/hashes/helper/hash_memory.c
core/lib/libtomcrypt/src/hashes/helper/hash_memory_multi.c
core/lib/libtomcrypt/src/hashes/helper/sub.mk
core/lib/libtomcrypt/src/hashes/md2.c
core/lib/libtomcrypt/src/hashes/md4.c
core/lib/libtomcrypt/src/hashes/md5.c
core/lib/libtomcrypt/src/hashes/rmd128.c
core/lib/libtomcrypt/src/hashes/rmd160.c
core/lib/libtomcrypt/src/hashes/rmd256.c
core/lib/libtomcrypt/src/hashes/rmd320.c
core/lib/libtomcrypt/src/hashes/sha1.c
core/lib/libtomcrypt/src/hashes/sha1_armv8a_ce.c
core/lib/libtomcrypt/src/hashes/sha2/sha224.c
core/lib/libtomcrypt/src/hashes/sha2/sha256.c
core/lib/libtomcrypt/src/hashes/sha2/sha256_armv8a_ce.c
core/lib/libtomcrypt/src/hashes/sha2/sha384.c
core/lib/libtomcrypt/src/hashes/sha2/sha512.c
core/lib/libtomcrypt/src/hashes/sha2/sha512_224.c
core/lib/libtomcrypt/src/hashes/sha2/sha512_256.c
core/lib/libtomcrypt/src/hashes/sha3.c
core/lib/libtomcrypt/src/hashes/sha3_test.c
core/lib/libtomcrypt/src/hashes/tiger.c
core/lib/libtomcrypt/src/hashes/whirl/whirl.c
core/lib/libtomcrypt/src/hashes/whirl/whirltab.c
core/lib/libtomcrypt/src/headers/tomcrypt.h
core/lib/libtomcrypt/src/headers/tomcrypt_argchk.h
core/lib/libtomcrypt/src/headers/tomcrypt_arm_neon.h
core/lib/libtomcrypt/src/headers/tomcrypt_cfg.h
core/lib/libtomcrypt/src/headers/tomcrypt_cipher.h
core/lib/libtomcrypt/src/headers/tomcrypt_custom.h
core/lib/libtomcrypt/src/headers/tomcrypt_hash.h
core/lib/libtomcrypt/src/headers/tomcrypt_mac.h
core/lib/libtomcrypt/src/headers/tomcrypt_macros.h
core/lib/libtomcrypt/src/headers/tomcrypt_math.h
core/lib/libtomcrypt/src/headers/tomcrypt_misc.h
core/lib/libtomcrypt/src/headers/tomcrypt_pk.h
core/lib/libtomcrypt/src/headers/tomcrypt_pkcs.h
core/lib/libtomcrypt/src/headers/tomcrypt_private.h
core/lib/libtomcrypt/src/headers/tomcrypt_prng.h
core/lib/libtomcrypt/src/mac/blake2/blake2bmac.c
core/lib/libtomcrypt/src/mac/blake2/blake2bmac_file.c
core/lib/libtomcrypt/src/mac/blake2/blake2bmac_memory.c
core/lib/libtomcrypt/src/mac/blake2/blake2bmac_memory_multi.c
core/lib/libtomcrypt/src/mac/blake2/blake2bmac_test.c
core/lib/libtomcrypt/src/mac/blake2/blake2smac.c
core/lib/libtomcrypt/src/mac/blake2/blake2smac_file.c
core/lib/libtomcrypt/src/mac/blake2/blake2smac_memory.c
core/lib/libtomcrypt/src/mac/blake2/blake2smac_memory_multi.c
core/lib/libtomcrypt/src/mac/blake2/blake2smac_test.c
core/lib/libtomcrypt/src/mac/f9/f9_done.c
core/lib/libtomcrypt/src/mac/f9/f9_file.c
core/lib/libtomcrypt/src/mac/f9/f9_init.c
core/lib/libtomcrypt/src/mac/f9/f9_memory.c
core/lib/libtomcrypt/src/mac/f9/f9_memory_multi.c
core/lib/libtomcrypt/src/mac/f9/f9_process.c
core/lib/libtomcrypt/src/mac/f9/f9_test.c
core/lib/libtomcrypt/src/mac/hmac/hmac_done.c
core/lib/libtomcrypt/src/mac/hmac/hmac_file.c
core/lib/libtomcrypt/src/mac/hmac/hmac_init.c
core/lib/libtomcrypt/src/mac/hmac/hmac_memory.c
core/lib/libtomcrypt/src/mac/hmac/hmac_memory_multi.c
core/lib/libtomcrypt/src/mac/hmac/hmac_process.c
core/lib/libtomcrypt/src/mac/hmac/hmac_test.c
core/lib/libtomcrypt/src/mac/hmac/sub.mk
core/lib/libtomcrypt/src/mac/omac/omac_done.c
core/lib/libtomcrypt/src/mac/omac/omac_file.c
core/lib/libtomcrypt/src/mac/omac/omac_init.c
core/lib/libtomcrypt/src/mac/omac/omac_memory.c
core/lib/libtomcrypt/src/mac/omac/omac_memory_multi.c
core/lib/libtomcrypt/src/mac/omac/omac_process.c
core/lib/libtomcrypt/src/mac/omac/omac_test.c
core/lib/libtomcrypt/src/mac/omac/sub.mk
core/lib/libtomcrypt/src/mac/pelican/pelican.c
core/lib/libtomcrypt/src/mac/pelican/pelican_memory.c
core/lib/libtomcrypt/src/mac/pelican/pelican_test.c
core/lib/libtomcrypt/src/mac/pmac/pmac_done.c
core/lib/libtomcrypt/src/mac/pmac/pmac_file.c
core/lib/libtomcrypt/src/mac/pmac/pmac_init.c
core/lib/libtomcrypt/src/mac/pmac/pmac_memory.c
core/lib/libtomcrypt/src/mac/pmac/pmac_memory_multi.c
core/lib/libtomcrypt/src/mac/pmac/pmac_ntz.c
core/lib/libtomcrypt/src/mac/pmac/pmac_process.c
core/lib/libtomcrypt/src/mac/pmac/pmac_shift_xor.c
core/lib/libtomcrypt/src/mac/pmac/pmac_test.c
core/lib/libtomcrypt/src/mac/poly1305/poly1305.c
core/lib/libtomcrypt/src/mac/poly1305/poly1305_file.c
core/lib/libtomcrypt/src/mac/poly1305/poly1305_memory.c
core/lib/libtomcrypt/src/mac/poly1305/poly1305_memory_multi.c
core/lib/libtomcrypt/src/mac/poly1305/poly1305_test.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_done.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_file.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_init.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_memory.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_memory_multi.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_process.c
core/lib/libtomcrypt/src/mac/xcbc/xcbc_test.c
core/lib/libtomcrypt/src/math/fp/ltc_ecc_fp_mulmod.c
core/lib/libtomcrypt/src/math/gmp_desc.c
core/lib/libtomcrypt/src/math/ltm_desc.c
core/lib/libtomcrypt/src/math/multi.c
core/lib/libtomcrypt/src/math/radix_to_bin.c
core/lib/libtomcrypt/src/math/rand_bn.c
core/lib/libtomcrypt/src/math/rand_prime.c
core/lib/libtomcrypt/src/math/tfm_desc.c
core/lib/libtomcrypt/src/misc/adler32.c
core/lib/libtomcrypt/src/misc/base16/base16_decode.c
core/lib/libtomcrypt/src/misc/base16/base16_encode.c
core/lib/libtomcrypt/src/misc/base32/base32_decode.c
core/lib/libtomcrypt/src/misc/base32/base32_encode.c
core/lib/libtomcrypt/src/misc/base64/base64_decode.c
core/lib/libtomcrypt/src/misc/base64/base64_encode.c
core/lib/libtomcrypt/src/misc/burn_stack.c
core/lib/libtomcrypt/src/misc/compare_testvector.c
core/lib/libtomcrypt/src/misc/copy_or_zeromem.c
core/lib/libtomcrypt/src/misc/crc32.c
core/lib/libtomcrypt/src/misc/crypt/crypt.c
core/lib/libtomcrypt/src/misc/crypt/crypt_argchk.c
core/lib/libtomcrypt/src/misc/crypt/crypt_cipher_descriptor.c
core/lib/libtomcrypt/src/misc/crypt/crypt_cipher_is_valid.c
core/lib/libtomcrypt/src/misc/crypt/crypt_constants.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_any.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_id.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_any.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_id.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_oid.c
core/lib/libtomcrypt/src/misc/crypt/crypt_find_prng.c
core/lib/libtomcrypt/src/misc/crypt/crypt_fsa.c
core/lib/libtomcrypt/src/misc/crypt/crypt_hash_descriptor.c
core/lib/libtomcrypt/src/misc/crypt/crypt_hash_is_valid.c
core/lib/libtomcrypt/src/misc/crypt/crypt_inits.c
core/lib/libtomcrypt/src/misc/crypt/crypt_ltc_mp_descriptor.c
core/lib/libtomcrypt/src/misc/crypt/crypt_prng_descriptor.c
core/lib/libtomcrypt/src/misc/crypt/crypt_prng_is_valid.c
core/lib/libtomcrypt/src/misc/crypt/crypt_prng_rng_descriptor.c
core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_ciphers.c
core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_hashes.c
core/lib/libtomcrypt/src/misc/crypt/crypt_register_all_prngs.c
core/lib/libtomcrypt/src/misc/crypt/crypt_register_cipher.c
core/lib/libtomcrypt/src/misc/crypt/crypt_register_hash.c
core/lib/libtomcrypt/src/misc/crypt/crypt_register_prng.c
core/lib/libtomcrypt/src/misc/crypt/crypt_sizes.c
core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_cipher.c
core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_hash.c
core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_prng.c
core/lib/libtomcrypt/src/misc/error_to_string.c
core/lib/libtomcrypt/src/misc/hkdf/hkdf.c
core/lib/libtomcrypt/src/misc/hkdf/hkdf_test.c
core/lib/libtomcrypt/src/misc/mem_neq.c
core/lib/libtomcrypt/src/misc/padding/padding_depad.c
core/lib/libtomcrypt/src/misc/padding/padding_pad.c
core/lib/libtomcrypt/src/misc/pbes/pbes.c
core/lib/libtomcrypt/src/misc/pbes/pbes1.c
core/lib/libtomcrypt/src/misc/pbes/pbes2.c
core/lib/libtomcrypt/src/misc/pkcs12/pkcs12_kdf.c
core/lib/libtomcrypt/src/misc/pkcs12/pkcs12_utf8_to_utf16.c
core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_1.c
core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_2.c
core/lib/libtomcrypt/src/misc/pkcs5/pkcs_5_test.c
core/lib/libtomcrypt/src/misc/ssh/ssh_decode_sequence_multi.c
core/lib/libtomcrypt/src/misc/ssh/ssh_encode_sequence_multi.c
core/lib/libtomcrypt/src/misc/ssh/sub.mk
core/lib/libtomcrypt/src/misc/sub.mk
core/lib/libtomcrypt/src/misc/zeromem.c
core/lib/libtomcrypt/src/modes/cbc/cbc_decrypt.c
core/lib/libtomcrypt/src/modes/cbc/cbc_done.c
core/lib/libtomcrypt/src/modes/cbc/cbc_encrypt.c
core/lib/libtomcrypt/src/modes/cbc/cbc_getiv.c
core/lib/libtomcrypt/src/modes/cbc/cbc_setiv.c
core/lib/libtomcrypt/src/modes/cbc/cbc_start.c
core/lib/libtomcrypt/src/modes/cfb/cfb_decrypt.c
core/lib/libtomcrypt/src/modes/cfb/cfb_done.c
core/lib/libtomcrypt/src/modes/cfb/cfb_encrypt.c
core/lib/libtomcrypt/src/modes/cfb/cfb_getiv.c
core/lib/libtomcrypt/src/modes/cfb/cfb_setiv.c
core/lib/libtomcrypt/src/modes/cfb/cfb_start.c
core/lib/libtomcrypt/src/modes/ctr/ctr_decrypt.c
core/lib/libtomcrypt/src/modes/ctr/ctr_done.c
core/lib/libtomcrypt/src/modes/ctr/ctr_encrypt.c
core/lib/libtomcrypt/src/modes/ctr/ctr_getiv.c
core/lib/libtomcrypt/src/modes/ctr/ctr_setiv.c
core/lib/libtomcrypt/src/modes/ctr/ctr_start.c
core/lib/libtomcrypt/src/modes/ctr/ctr_test.c
core/lib/libtomcrypt/src/modes/ctr/sub.mk
core/lib/libtomcrypt/src/modes/ecb/ecb_decrypt.c
core/lib/libtomcrypt/src/modes/ecb/ecb_done.c
core/lib/libtomcrypt/src/modes/ecb/ecb_encrypt.c
core/lib/libtomcrypt/src/modes/ecb/ecb_start.c
core/lib/libtomcrypt/src/modes/f8/f8_decrypt.c
core/lib/libtomcrypt/src/modes/f8/f8_done.c
core/lib/libtomcrypt/src/modes/f8/f8_encrypt.c
core/lib/libtomcrypt/src/modes/f8/f8_getiv.c
core/lib/libtomcrypt/src/modes/f8/f8_setiv.c
core/lib/libtomcrypt/src/modes/f8/f8_start.c
core/lib/libtomcrypt/src/modes/f8/f8_test_mode.c
core/lib/libtomcrypt/src/modes/lrw/lrw_decrypt.c
core/lib/libtomcrypt/src/modes/lrw/lrw_done.c
core/lib/libtomcrypt/src/modes/lrw/lrw_encrypt.c
core/lib/libtomcrypt/src/modes/lrw/lrw_getiv.c
core/lib/libtomcrypt/src/modes/lrw/lrw_process.c
core/lib/libtomcrypt/src/modes/lrw/lrw_setiv.c
core/lib/libtomcrypt/src/modes/lrw/lrw_start.c
core/lib/libtomcrypt/src/modes/lrw/lrw_test.c
core/lib/libtomcrypt/src/modes/lrw/sub.mk
core/lib/libtomcrypt/src/modes/ofb/ofb_decrypt.c
core/lib/libtomcrypt/src/modes/ofb/ofb_done.c
core/lib/libtomcrypt/src/modes/ofb/ofb_encrypt.c
core/lib/libtomcrypt/src/modes/ofb/ofb_getiv.c
core/lib/libtomcrypt/src/modes/ofb/ofb_setiv.c
core/lib/libtomcrypt/src/modes/ofb/ofb_start.c
core/lib/libtomcrypt/src/modes/xts/sub.mk
core/lib/libtomcrypt/src/modes/xts/xts_decrypt.c
core/lib/libtomcrypt/src/modes/xts/xts_done.c
core/lib/libtomcrypt/src/modes/xts/xts_encrypt.c
core/lib/libtomcrypt/src/modes/xts/xts_init.c
core/lib/libtomcrypt/src/modes/xts/xts_mult_x.c
core/lib/libtomcrypt/src/modes/xts/xts_test.c
core/lib/libtomcrypt/src/pk/asn1/der/bit/der_decode_bit_string.c
core/lib/libtomcrypt/src/pk/asn1/der/bit/der_decode_raw_bit_string.c
core/lib/libtomcrypt/src/pk/asn1/der/bit/der_encode_bit_string.c
core/lib/libtomcrypt/src/pk/asn1/der/bit/der_encode_raw_bit_string.c
core/lib/libtomcrypt/src/pk/asn1/der/bit/der_length_bit_string.c
core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_decode_boolean.c
core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_encode_boolean.c
core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_length_boolean.c
core/lib/libtomcrypt/src/pk/asn1/der/choice/der_decode_choice.c
core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_decode_custom_type.c
core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_encode_custom_type.c
core/lib/libtomcrypt/src/pk/asn1/der/custom_type/der_length_custom_type.c
core/lib/libtomcrypt/src/pk/asn1/der/custom_type/sub.mk
core/lib/libtomcrypt/src/pk/asn1/der/general/der_asn1_maps.c
core/lib/libtomcrypt/src/pk/asn1/der/general/der_decode_asn1_identifier.c
core/lib/libtomcrypt/src/pk/asn1/der/general/der_decode_asn1_length.c
core/lib/libtomcrypt/src/pk/asn1/der/general/der_encode_asn1_identifier.c
core/lib/libtomcrypt/src/pk/asn1/der/general/der_encode_asn1_length.c
core/lib/libtomcrypt/src/pk/asn1/der/general/der_length_asn1_identifier.c
core/lib/libtomcrypt/src/pk/asn1/der/general/der_length_asn1_length.c
core/lib/libtomcrypt/src/pk/asn1/der/general/sub.mk
core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/der_decode_generalizedtime.c
core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/der_encode_generalizedtime.c
core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/der_length_generalizedtime.c
core/lib/libtomcrypt/src/pk/asn1/der/generalizedtime/sub.mk
core/lib/libtomcrypt/src/pk/asn1/der/ia5/der_decode_ia5_string.c
core/lib/libtomcrypt/src/pk/asn1/der/ia5/der_encode_ia5_string.c
core/lib/libtomcrypt/src/pk/asn1/der/ia5/der_length_ia5_string.c
core/lib/libtomcrypt/src/pk/asn1/der/integer/der_decode_integer.c
core/lib/libtomcrypt/src/pk/asn1/der/integer/der_encode_integer.c
core/lib/libtomcrypt/src/pk/asn1/der/integer/der_length_integer.c
core/lib/libtomcrypt/src/pk/asn1/der/object_identifier/der_decode_object_identifier.c
core/lib/libtomcrypt/src/pk/asn1/der/object_identifier/der_encode_object_identifier.c
core/lib/libtomcrypt/src/pk/asn1/der/object_identifier/der_length_object_identifier.c
core/lib/libtomcrypt/src/pk/asn1/der/octet/der_decode_octet_string.c
core/lib/libtomcrypt/src/pk/asn1/der/octet/der_encode_octet_string.c
core/lib/libtomcrypt/src/pk/asn1/der/octet/der_length_octet_string.c
core/lib/libtomcrypt/src/pk/asn1/der/printable_string/der_decode_printable_string.c
core/lib/libtomcrypt/src/pk/asn1/der/printable_string/der_encode_printable_string.c
core/lib/libtomcrypt/src/pk/asn1/der/printable_string/der_length_printable_string.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_ex.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_flexi.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_multi.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_ex.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_multi.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_length_sequence.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_free.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_shrink.c
core/lib/libtomcrypt/src/pk/asn1/der/sequence/sub.mk
core/lib/libtomcrypt/src/pk/asn1/der/set/der_encode_set.c
core/lib/libtomcrypt/src/pk/asn1/der/set/der_encode_setof.c
core/lib/libtomcrypt/src/pk/asn1/der/short_integer/der_decode_short_integer.c
core/lib/libtomcrypt/src/pk/asn1/der/short_integer/der_encode_short_integer.c
core/lib/libtomcrypt/src/pk/asn1/der/short_integer/der_length_short_integer.c
core/lib/libtomcrypt/src/pk/asn1/der/sub.mk
core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/der_decode_teletex_string.c
core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/der_length_teletex_string.c
core/lib/libtomcrypt/src/pk/asn1/der/utctime/der_decode_utctime.c
core/lib/libtomcrypt/src/pk/asn1/der/utctime/der_encode_utctime.c
core/lib/libtomcrypt/src/pk/asn1/der/utctime/der_length_utctime.c
core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_decode_utf8_string.c
core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_encode_utf8_string.c
core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_length_utf8_string.c
core/lib/libtomcrypt/src/pk/asn1/oid/pk_get_oid.c
core/lib/libtomcrypt/src/pk/asn1/oid/pk_oid_cmp.c
core/lib/libtomcrypt/src/pk/asn1/oid/pk_oid_str.c
core/lib/libtomcrypt/src/pk/asn1/oid/sub.mk
core/lib/libtomcrypt/src/pk/asn1/pkcs8/pkcs8_decode_flexi.c
core/lib/libtomcrypt/src/pk/asn1/sub.mk
core/lib/libtomcrypt/src/pk/asn1/x509/x509_decode_public_key_from_certificate.c
core/lib/libtomcrypt/src/pk/asn1/x509/x509_decode_subject_public_key_info.c
core/lib/libtomcrypt/src/pk/asn1/x509/x509_encode_subject_public_key_info.c
core/lib/libtomcrypt/src/pk/dh/dh.c
core/lib/libtomcrypt/src/pk/dh/dh_check_pubkey.c
core/lib/libtomcrypt/src/pk/dh/dh_export.c
core/lib/libtomcrypt/src/pk/dh/dh_export_key.c
core/lib/libtomcrypt/src/pk/dh/dh_free.c
core/lib/libtomcrypt/src/pk/dh/dh_generate_key.c
core/lib/libtomcrypt/src/pk/dh/dh_import.c
core/lib/libtomcrypt/src/pk/dh/dh_make_key.c
core/lib/libtomcrypt/src/pk/dh/dh_set.c
core/lib/libtomcrypt/src/pk/dh/dh_set_pg_dhparam.c
core/lib/libtomcrypt/src/pk/dh/dh_shared_secret.c
core/lib/libtomcrypt/src/pk/dh/sub.mk
core/lib/libtomcrypt/src/pk/dsa/dsa_decrypt_key.c
core/lib/libtomcrypt/src/pk/dsa/dsa_encrypt_key.c
core/lib/libtomcrypt/src/pk/dsa/dsa_export.c
core/lib/libtomcrypt/src/pk/dsa/dsa_free.c
core/lib/libtomcrypt/src/pk/dsa/dsa_generate_key.c
core/lib/libtomcrypt/src/pk/dsa/dsa_generate_pqg.c
core/lib/libtomcrypt/src/pk/dsa/dsa_import.c
core/lib/libtomcrypt/src/pk/dsa/dsa_make_key.c
core/lib/libtomcrypt/src/pk/dsa/dsa_set.c
core/lib/libtomcrypt/src/pk/dsa/dsa_set_pqg_dsaparam.c
core/lib/libtomcrypt/src/pk/dsa/dsa_shared_secret.c
core/lib/libtomcrypt/src/pk/dsa/dsa_sign_hash.c
core/lib/libtomcrypt/src/pk/dsa/dsa_verify_hash.c
core/lib/libtomcrypt/src/pk/dsa/dsa_verify_key.c
core/lib/libtomcrypt/src/pk/dsa/sub.mk
core/lib/libtomcrypt/src/pk/ec25519/ec25519_export.c
core/lib/libtomcrypt/src/pk/ec25519/ec25519_import_pkcs8.c
core/lib/libtomcrypt/src/pk/ec25519/tweetnacl.c
core/lib/libtomcrypt/src/pk/ecc/ecc.c
core/lib/libtomcrypt/src/pk/ecc/ecc_ansi_x963_export.c
core/lib/libtomcrypt/src/pk/ecc/ecc_ansi_x963_import.c
core/lib/libtomcrypt/src/pk/ecc/ecc_decrypt_key.c
core/lib/libtomcrypt/src/pk/ecc/ecc_encrypt_key.c
core/lib/libtomcrypt/src/pk/ecc/ecc_export.c
core/lib/libtomcrypt/src/pk/ecc/ecc_export_openssl.c
core/lib/libtomcrypt/src/pk/ecc/ecc_find_curve.c
core/lib/libtomcrypt/src/pk/ecc/ecc_free.c
core/lib/libtomcrypt/src/pk/ecc/ecc_get_key.c
core/lib/libtomcrypt/src/pk/ecc/ecc_get_oid_str.c
core/lib/libtomcrypt/src/pk/ecc/ecc_get_size.c
core/lib/libtomcrypt/src/pk/ecc/ecc_import.c
core/lib/libtomcrypt/src/pk/ecc/ecc_import_openssl.c
core/lib/libtomcrypt/src/pk/ecc/ecc_import_pkcs8.c
core/lib/libtomcrypt/src/pk/ecc/ecc_import_x509.c
core/lib/libtomcrypt/src/pk/ecc/ecc_make_key.c
core/lib/libtomcrypt/src/pk/ecc/ecc_recover_key.c
core/lib/libtomcrypt/src/pk/ecc/ecc_set_curve.c
core/lib/libtomcrypt/src/pk/ecc/ecc_set_curve_internal.c
core/lib/libtomcrypt/src/pk/ecc/ecc_set_key.c
core/lib/libtomcrypt/src/pk/ecc/ecc_shared_secret.c
core/lib/libtomcrypt/src/pk/ecc/ecc_sign_hash.c
core/lib/libtomcrypt/src/pk/ecc/ecc_sizes.c
core/lib/libtomcrypt/src/pk/ecc/ecc_ssh_ecdsa_encode_name.c
core/lib/libtomcrypt/src/pk/ecc/ecc_verify_hash.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_export_point.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_import_point.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_is_point.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_is_point_at_infinity.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_map.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod_timing.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_points.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c
core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_verify_key.c
core/lib/libtomcrypt/src/pk/ecc/sub.mk
core/lib/libtomcrypt/src/pk/ed25519/ed25519_export.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_import.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_import_pkcs8.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_import_x509.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_make_key.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_set_key.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_sign.c
core/lib/libtomcrypt/src/pk/ed25519/ed25519_verify.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_i2osp.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_os2ip.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c
core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c
core/lib/libtomcrypt/src/pk/rsa/rsa_decrypt_key.c
core/lib/libtomcrypt/src/pk/rsa/rsa_encrypt_key.c
core/lib/libtomcrypt/src/pk/rsa/rsa_export.c
core/lib/libtomcrypt/src/pk/rsa/rsa_exptmod.c
core/lib/libtomcrypt/src/pk/rsa/rsa_free.c
core/lib/libtomcrypt/src/pk/rsa/rsa_get_size.c
core/lib/libtomcrypt/src/pk/rsa/rsa_import.c
core/lib/libtomcrypt/src/pk/rsa/rsa_import_pkcs8.c
core/lib/libtomcrypt/src/pk/rsa/rsa_import_x509.c
core/lib/libtomcrypt/src/pk/rsa/rsa_make_key.c
core/lib/libtomcrypt/src/pk/rsa/rsa_set.c
core/lib/libtomcrypt/src/pk/rsa/rsa_sign_hash.c
core/lib/libtomcrypt/src/pk/rsa/rsa_sign_saltlen_get.c
core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
core/lib/libtomcrypt/src/pk/x25519/x25519_export.c
core/lib/libtomcrypt/src/pk/x25519/x25519_import.c
core/lib/libtomcrypt/src/pk/x25519/x25519_import_pkcs8.c
core/lib/libtomcrypt/src/pk/x25519/x25519_import_x509.c
core/lib/libtomcrypt/src/pk/x25519/x25519_make_key.c
core/lib/libtomcrypt/src/pk/x25519/x25519_set_key.c
core/lib/libtomcrypt/src/pk/x25519/x25519_shared_secret.c
core/lib/libtomcrypt/src/prngs/chacha20.c
core/lib/libtomcrypt/src/prngs/fortuna.c
core/lib/libtomcrypt/src/prngs/rc4.c
core/lib/libtomcrypt/src/prngs/rng_get_bytes.c
core/lib/libtomcrypt/src/prngs/rng_make_prng.c
core/lib/libtomcrypt/src/prngs/sober128.c
core/lib/libtomcrypt/src/prngs/sprng.c
core/lib/libtomcrypt/src/prngs/yarrow.c
core/lib/libtomcrypt/src/stream/chacha/chacha_crypt.c
core/lib/libtomcrypt/src/stream/chacha/chacha_done.c
core/lib/libtomcrypt/src/stream/chacha/chacha_ivctr32.c
core/lib/libtomcrypt/src/stream/chacha/chacha_ivctr64.c
core/lib/libtomcrypt/src/stream/chacha/chacha_keystream.c
core/lib/libtomcrypt/src/stream/chacha/chacha_memory.c
core/lib/libtomcrypt/src/stream/chacha/chacha_setup.c
core/lib/libtomcrypt/src/stream/chacha/chacha_test.c
core/lib/libtomcrypt/src/stream/rabbit/rabbit.c
core/lib/libtomcrypt/src/stream/rabbit/rabbit_memory.c
core/lib/libtomcrypt/src/stream/rc4/rc4_stream.c
core/lib/libtomcrypt/src/stream/rc4/rc4_stream_memory.c
core/lib/libtomcrypt/src/stream/rc4/rc4_test.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_crypt.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_done.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_ivctr64.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_keystream.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_memory.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_setup.c
core/lib/libtomcrypt/src/stream/salsa20/salsa20_test.c
core/lib/libtomcrypt/src/stream/salsa20/xsalsa20_memory.c
core/lib/libtomcrypt/src/stream/salsa20/xsalsa20_setup.c
core/lib/libtomcrypt/src/stream/salsa20/xsalsa20_test.c
core/lib/libtomcrypt/src/stream/sober128/sober128_stream.c
core/lib/libtomcrypt/src/stream/sober128/sober128_stream_memory.c
core/lib/libtomcrypt/src/stream/sober128/sober128_test.c
core/lib/libtomcrypt/src/stream/sober128/sober128tab.c
core/lib/libtomcrypt/src/stream/sosemanuk/sosemanuk.c
core/lib/libtomcrypt/src/stream/sosemanuk/sosemanuk_memory.c
core/lib/libtomcrypt/src/stream/sosemanuk/sosemanuk_test.c
core/lib/libtomcrypt/sub.mk
core/lib/libtomcrypt/tomcrypt.c
core/lib/libtomcrypt/xts.c
e29072bd11-Sep-2019 Jerome Forissier <jerome@forissier.org>

Revert "compiler.h: introduce GCC version check"

This reverts commit fc78b3ffc59ef03e599ae952b4345f03f466f11c and
updates the comment in <compiler.h>.

It turns out not only GCC 8.x needs the workar

Revert "compiler.h: introduce GCC version check"

This reverts commit fc78b3ffc59ef03e599ae952b4345f03f466f11c and
updates the comment in <compiler.h>.

It turns out not only GCC 8.x needs the workaround. I tried 4.9, 6.2,
8.2, and 8.3 from various sources (Linaro or Ubuntu). If
__SECTION_FLAGS_RODATA is empty, this warning is always present:

CC out/arm-plat-vexpress/core/mm/fobj.o
{standard input}: Assembler messages:
{standard input}:402: Warning: setting incorrect section attributes for .rodata.__unpaged

The generated assembler file contains the "aw" flags:

$ grep '\.section.*\.rodata\.__unpaged' out/arm-plat-vexpress/core/mm/fobj.s
.section .rodata.__unpaged,"aw",%progbits

By reverting the above commit, we have:

$ grep '\.section.*\.rodata\.__unpaged' out/arm-plat-vexpress/core/mm/fobj.s
.section .rodata.__unpaged,"a",%progbits //,"aw",%progbits

...and the assembler does not warn anymore.

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

show more ...

5548a71010-Sep-2019 Jerome Forissier <jerome@forissier.org>

ldelf: add __noreturn

The 32-bit variant of e64_relocate() deserves a __noreturn attribute
because it calls utee_return() unconditionally. Fixes a Clang warning.

Signed-off-by: Jerome Forissier <je

ldelf: add __noreturn

The 32-bit variant of e64_relocate() deserves a __noreturn attribute
because it calls utee_return() unconditionally. Fixes a Clang warning.

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

show more ...

fc78b3ff10-Sep-2019 Jerome Forissier <jerome@forissier.org>

compiler.h: introduce GCC version check

The macro __SECTION_FLAGS_RODATA introduced by commit fd1187725939 ("core:
force read-only flag on .rodata.* sections") is needed for GCC >= 8, so
it should d

compiler.h: introduce GCC version check

The macro __SECTION_FLAGS_RODATA introduced by commit fd1187725939 ("core:
force read-only flag on .rodata.* sections") is needed for GCC >= 8, so
it should depend on __GCC_VERSION. This prepares for Clang.

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

show more ...

27e1949910-Sep-2019 Jerome Forissier <jerome@forissier.org>

core: ltc: force alignment of A32 assembler functions to 4 bytes

The Clang assembler will not align all the functions containing A32
code (as opposed to thumb) on 4-byte boundaries, contrary to GCC.

core: ltc: force alignment of A32 assembler functions to 4 bytes

The Clang assembler will not align all the functions containing A32
code (as opposed to thumb) on 4-byte boundaries, contrary to GCC.
This can cause a runtime exception (undef-abort).

Add a ".balign 4" to the ENTRY macro to fix that.

See also commit ff7c2da6d14b ("Force alignment of assembler functions
(FUNC and LOCAL_FUNC) to 4 bytes") [1].

Link: [1] https://github.com/OP-TEE/optee_os/commit/ff7c2da6d14b
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

bb1d5c3210-Sep-2019 Jerome Forissier <jerome@forissier.org>

core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector

Cherry pick of Linux kernel commit ed6ed11830a9 ("crypto:
arm64/aes-modes - get rid of literal load of addend vector").

core: ltc: aes_modes_armv8a_ce_a64.S: get rid of literal load of addend vector

Cherry pick of Linux kernel commit ed6ed11830a9 ("crypto:
arm64/aes-modes - get rid of literal load of addend vector"). Original
commit message:

"
Replace the literal load of the addend vector with a sequence that
performs each add individually. This sequence is only 2 instructions
longer than the original, and 2% faster on Cortex-A53.

This is an improvement by itself, but also works around a Clang issue,
whose integrated assembler does not implement the GNU ARM asm syntax
completely, and does not support the =literal notation for FP registers
(more info at https://bugs.llvm.org/show_bug.cgi?id=38642)
"

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

show more ...

f749239110-Sep-2019 Jerome Forissier <jerome@forissier.org>

core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax

"umov w0, v0.4s[0]" is not valid UAL syntax; the 4 should not be here.
GCC accepts it fine but Clang does not. Fix it.

Signed-off

core: ltc: aes_modes_armv8a_ce_a64.S: fix incorrect assembly syntax

"umov w0, v0.4s[0]" is not valid UAL syntax; the 4 should not be here.
GCC accepts it fine but Clang does not. Fix it.

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

show more ...

69e57dcf10-Sep-2019 Jerome Forissier <jerome@forissier.org>

core: arm64: crypto: AES-GCM: fix incorrect assembly syntax

"umov w0, v0.4s[0]" is not valid UAL syntax; the 4 should not be here.
GCC accepts it fine but Clang does not. Fix it.

Signed-off-by: Jer

core: arm64: crypto: AES-GCM: fix incorrect assembly syntax

"umov w0, v0.4s[0]" is not valid UAL syntax; the 4 should not be here.
GCC accepts it fine but Clang does not. Fix it.

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

show more ...

1e86658810-Sep-2019 Jerome Forissier <jerome@forissier.org>

core: dt: add __noreturn to _fdt_fill_device_info() stub

When CFG_DT != y, the stub function _fdt_fill_device_info() just
panics. Therefore it deserves the __noreturn attribute. Adding it makes
a Cl

core: dt: add __noreturn to _fdt_fill_device_info() stub

When CFG_DT != y, the stub function _fdt_fill_device_info() just
panics. Therefore it deserves the __noreturn attribute. Adding it makes
a Clang warning go away.

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

show more ...

f8f95bc110-Sep-2019 Jerome Forissier <jerome@forissier.org>

Get rid of option -Wno-suggest-attribute=noreturn

The GCC option -Wno-suggest-attribute=noreturn is not supported by
Clang. Instead of playing with compiler options, let's fix the code
according to

Get rid of option -Wno-suggest-attribute=noreturn

The GCC option -Wno-suggest-attribute=noreturn is not supported by
Clang. Instead of playing with compiler options, let's fix the code
according to the following rules:
- If a function is know to never return, it should have the __noreturn
attribute in the header file.
- If only some implementation of a function never returns, __noreturn
shall be applied to that particular implementation in the .c file.

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

show more ...

7222fc6a06-Aug-2019 Cedric Neveux <cedric.neveux@nxp.com>

core: driver: generic resources for crypto device driver

Add a generic cryptographic driver interface connecting
TEE Crypto generic APIs to HW driver interface

The Generic Crypto Driver interface i

core: driver: generic resources for crypto device driver

Add a generic cryptographic driver interface connecting
TEE Crypto generic APIs to HW driver interface

The Generic Crypto Driver interface in the core/driver/crypto/crypto_api
is implemented to be able to use a HW driver.

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

show more ...

cfc0f07409-Sep-2019 Jerome Forissier <jerome@forissier.org>

ta: ldelf.ld.S: align __reloc_begin on 8 bytes

__reloc_begin is currently defined as "__reloc_begin = ." just before
the various .rel.* output sections. The problem is, there is no
guarantee that th

ta: ldelf.ld.S: align __reloc_begin on 8 bytes

__reloc_begin is currently defined as "__reloc_begin = ." just before
the various .rel.* output sections. The problem is, there is no
guarantee that the symbol will actually point to the first relocation
entry due to the alignment constraints on relocation sections. For
instance for Aarch64 relocations, alignment is 8 bytes, but
__reloc_begin has no alignment constraint, so it might end before the
first relocation (this issue was observed with the Clang linker,
ld.lld).

The patch forces the alignment of __reloc_begin on 8 bytes so that
there can be no unwanted padding.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2e48af9804-Sep-2019 Jens Wiklander <jens.wiklander@linaro.org>

util.h: add the macro ROUNDUP_OVERFLOW()

Adds the macro ROUNDUP_OVERFLOW() which rounds up like ROUNDUP() but also
checks the result for overflow and returns true on overflow.

Reviewed-by: Etienne

util.h: add the macro ROUNDUP_OVERFLOW()

Adds the macro ROUNDUP_OVERFLOW() which rounds up like ROUNDUP() but also
checks the result for overflow and returns true on overflow.

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

show more ...

02b0fca704-Sep-2019 Jerome Forissier <jerome@forissier.org>

libutils: bget_malloc.c: copy statistics using memcpy_unckecked()

When CFG_CORE_SANITIZE_KADDRESS=y, most OP-TEE files are built with
address sanitizer flags except bget_malloc.c. As a result, the m

libutils: bget_malloc.c: copy statistics using memcpy_unckecked()

When CFG_CORE_SANITIZE_KADDRESS=y, most OP-TEE files are built with
address sanitizer flags except bget_malloc.c. As a result, the memcpy()
function in memcpy.c is instrumented, whereas the malloc context
structure (malloc_ctx) in bget_malloc.c is not. This causes the
following panic:

$ xtest --stats --alloc

E/TC:0 0 Panic at core/kernel/asan.c:189 <check_access>
E/TC:0 0 Call stack:
E/TC:0 0 0x0e125c3d print_kernel_stack at optee_os/core/arch/arm/kernel/unwind_arm32.c:450
E/TC:0 0 0x0e13fcfb __do_panic at optee_os/core/kernel/panic.c:32 (discriminator 1)
E/TC:0 0 0x0e13e099 check_access at optee_os/core/kernel/asan.c:187 (discriminator 2)
E/TC:0 0 0x0e13e10f check_load at optee_os/core/kernel/asan.c:199
E/TC:0 0 0x0e13e187 __asan_load4_noabort at optee_os/core/kernel/asan.c:231
E/TC:0 0 0x0e185d15 memcpy at optee_os/lib/libutils/isoc/newlib/memcpy.c:112
E/TC:0 0 0x0e184a3f gen_malloc_get_stats at optee_os/lib/libutils/isoc/bget_malloc.c:234
[...]

Introduce memcpy_unchecked() (which evaluates to asan_memcpy_unchecked()
when ASAN is enabled and memcpy() otherwise) to fix the issue.

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

show more ...

1df107b603-Sep-2019 Sumit Garg <sumit.garg@linaro.org>

ftrace: exclude only foreign interrupt time

Current TA function execution time feature only reports user mode
execution time and exclude any non-user mode execution time. But in
case of syscalls whi

ftrace: exclude only foreign interrupt time

Current TA function execution time feature only reports user mode
execution time and exclude any non-user mode execution time. But in
case of syscalls which are essentially function invocations from TA
into the kernel, we shouldn't exclude syscall execution time in order
to account for actual function execution time. That means we only
exclude time that is spent serving foreign interrupts.

So changes in this patch allows to incorporate syscall execution time
in the function graph output.

Fixes: f5df167c2ffb ("ftrace: Add function execution time support")
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

a28e3d9d04-Sep-2019 Jerome Forissier <jerome@forissier.org>

hikey960: add ASAN shadow offset for 32-bit build

Adds the proper CFG_ASAN_SHADOW_OFFSET value for HiKey960 in 32-bit
mode. This allows to run with the kernel address sanitizer enabled
(CFG_CORE_SAN

hikey960: add ASAN shadow offset for 32-bit build

Adds the proper CFG_ASAN_SHADOW_OFFSET value for HiKey960 in 32-bit
mode. This allows to run with the kernel address sanitizer enabled
(CFG_CORE_SANITIZE_KADDRESS=y).

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

show more ...

53b7629f03-Sep-2019 Volodymyr Babchuk <volodymyr_babchuk@epam.com>

core: don't use __bss and __data attributes

Manual placement in .data or .bss section breaks GCC Address
Sanitizer, because it refuses to track variables, that are stored in
user sections. Even if t

core: don't use __bss and __data attributes

Manual placement in .data or .bss section breaks GCC Address
Sanitizer, because it refuses to track variables, that are stored in
user sections. Even if those sections are actually not user-defined,
but generic .bss and .data.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960, ASAN)
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU, GP, ASAN)

show more ...

d149209829-Aug-2019 Jerome Forissier <jerome@forissier.org>

ftrace: allow display of larger durations

Currently the ftrace buffer shows durations in microseconds and modulo
1000000 us. It is problematic if values larger than one second are
measured.

This pa

ftrace: allow display of larger durations

Currently the ftrace buffer shows durations in microseconds and modulo
1000000 us. It is problematic if values larger than one second are
measured.

This patch makes sure that no invalid value is ever displayed when an
overflow occurs. Instead, the trace will contain dashes, such as
"--------- us".

In addition, the unit is changed from microseconds (us) to milliseconds
(ms) when the duration exceeds a predefined value set by CFG_FTRACE_US_MS
(default: 10000 us).

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

show more ...

0f8adafe29-Aug-2019 Jerome Forissier <jerome@forissier.org>

ftrace: allow tracing of syscall wrappers only

Introduces a new configuration flag: CFG_SYSCALL_WRAPPERS_MCOUNT to
control the instrumentation of the system call wrapper functions
(utee_*) with -pg,

ftrace: allow tracing of syscall wrappers only

Introduces a new configuration flag: CFG_SYSCALL_WRAPPERS_MCOUNT to
control the instrumentation of the system call wrapper functions
(utee_*) with -pg, for function tracing and gprof.
The default value is taken from CFG_ULIBS_MCOUNT.
The main use case is to trace only the system calls in a TA:
CFG_TA_FTRACE_SUPPORT=y CFG_SYSCALL_WRAPPERS_MCOUNT=y

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

show more ...

71c9b07803-Sep-2019 Jerome Forissier <jerome@forissier.org>

get_maintainer.py: fix spelling mistake

OSError is spelled incorrectly, causing the following error:

$ ./scripts/get_maintainer.py core/arch/arm/plat-imx/
Traceback (most recent call last):
Fi

get_maintainer.py: fix spelling mistake

OSError is spelled incorrectly, causing the following error:

$ ./scripts/get_maintainer.py core/arch/arm/plat-imx/
Traceback (most recent call last):
File "./scripts/get_maintainer.py", line 102, in split_patchset
f = open(patchset, "r")
IsADirectoryError: [Errno 21] Is a directory: 'core/arch/arm/plat-imx/'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./scripts/get_maintainer.py", line 292, in <module>
main()
File "./scripts/get_maintainer.py", line 242, in main
patches = split_patchset(arg)
File "./scripts/get_maintainer.py", line 103, in split_patchset
except OsError:
NameError: name 'OsError' is not defined

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

show more ...

f5ae8b2928-Aug-2019 Ricardo Salveti <ricardo@foundries.io>

core: imx: add mx6dapalis/mx6qapalis platform flavor

Add Toradex Apalis iMX6D and iMX6Q (1GB module variant) platform
flavors.

CFG_DDR_SIZE needs to be manually set by the user (e.g. 0x80000000)
if

core: imx: add mx6dapalis/mx6qapalis platform flavor

Add Toradex Apalis iMX6D and iMX6Q (1GB module variant) platform
flavors.

CFG_DDR_SIZE needs to be manually set by the user (e.g. 0x80000000)
if using the 2GB module variants.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Reviewed-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

f795b67312-Aug-2019 Clement Faure <clement.faure@nxp.com>

core: imx: add support for i.MX 8MN

Add support for i.MX 8MN.
Add board flavor:
* imx8mnevk

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jerome Forissier <jerome.forissier@lin

core: imx: add support for i.MX 8MN

Add support for i.MX 8MN.
Add board flavor:
* imx8mnevk

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>

show more ...

bacb1a4b22-Nov-2018 Silvano di Ninno <silvano.dininno@nxp.com>

core: imx: add support for i.MX 8QM

Add support for i.MX 8QM.
Add board flavors:
* imx8qmmek

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Clement Faure <clement.faure@n

core: imx: add support for i.MX 8QM

Add support for i.MX 8QM.
Add board flavors:
* imx8qmmek

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>

show more ...

d3bf580a22-Nov-2018 Silvano di Ninno <silvano.dininno@nxp.com>

core: imx: add support for i.MX 8QxP

Add support for i.MX 8QxP
Add board flavors:
* imx8qxpmek

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Alessandro Di Chiara <alessa

core: imx: add support for i.MX 8QxP

Add support for i.MX 8QxP
Add board flavors:
* imx8qxpmek

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Alessandro Di Chiara <alessandro.dichiara@nxp.com>
Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>

show more ...

1...<<201202203204205206207208209210>>...336