History log of /optee_os/core/ (Results 4101 – 4125 of 6498)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c4108ef503-Oct-2019 Luigi Coniglio <werew@ret2libc.com>

Fixes #507 in LTC - vulnerability in der_decode_utf8_string()

Fix a vulnerability in der_decode_utf8_string as specified here:
https://github.com/libtom/libtomcrypt/issues/507

Patch manually picked

Fixes #507 in LTC - vulnerability in der_decode_utf8_string()

Fix a vulnerability in der_decode_utf8_string as specified here:
https://github.com/libtom/libtomcrypt/issues/507

Patch manually picked from:
https://github.com/libtom/libtomcrypt/commit/25c26a3b7a9ad8192ccc923e15cf62bf0108ef94

Signed-off-by: Luigi Coniglio <werew@ret2libc.com>
[Joakim Bech: Extended commit message]
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU v7)
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

d2242b1a07-Oct-2019 Daniel McIlvaney <damcilva@microsoft.com>

core: early_ta: fix tag hash calculation

Previously correct output due to the order of execution (tag is
calculated before any reads) and crypto_hash_final taking the minimum
of digest length and bu

core: early_ta: fix tag hash calculation

Previously correct output due to the order of execution (tag is
calculated before any reads) and crypto_hash_final taking the minimum
of digest length and buffer length, but this will be more reliable.

Signed-off-by: Daniel McIlvaney <damcilva@microsoft.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

34a08bec25-Jun-2019 Joakim Bech <joakim.bech@linaro.org>

cryp: prevent direct calls to update and final functions

With inconsistent or malformed data it has been possible to call
"update" and "final" crypto functions directly. Using a fuzzer tool [1]
we h

cryp: prevent direct calls to update and final functions

With inconsistent or malformed data it has been possible to call
"update" and "final" crypto functions directly. Using a fuzzer tool [1]
we have seen that this results in asserts, i.e., a crash that
potentially could leak sensitive information.

By setting the state (initialized) in the crypto context (i.e., the
tee_cryp_state) at the end of all syscall_*_init functions and then add
a check of the state at the beginning of all update and final functions,
we prevent direct entrance to the "update" and "final" functions.

[1] https://github.com/MartijnB/optee_fuzzer

Fixes: OP-TEE-2019-0021

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Reported-by: Martijn Bogaard <bogaard@riscure.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

28aa35f524-Jun-2019 Joakim Bech <joakim.bech@linaro.org>

cryp: ensure that mode is cipher in syscall_cipher_init

When calling syscall_cipher_init there is no check being done that the
state coming from the TA has been initialized to a valid cipher state.

cryp: ensure that mode is cipher in syscall_cipher_init

When calling syscall_cipher_init there is no check being done that the
state coming from the TA has been initialized to a valid cipher state.
By checking the class we prevent an assert in cipher_ops.

Fixes: OP-TEE-2019-0020

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Reported-by: Martijn Bogaard <bogaard@riscure.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

45a367d820-Jun-2019 Joakim Bech <joakim.bech@linaro.org>

cryp: ensure that mode is AE in syscall_authenc_ functions

When doing calls to syscall_authenc_xyz functions (all of them except
syscall_authenc_init) there is no check being done that the state com

cryp: ensure that mode is AE in syscall_authenc_ functions

When doing calls to syscall_authenc_xyz functions (all of them except
syscall_authenc_init) there is no check being done that the state coming
from the TA has been initialized to a valid authenticated encryption
state. As a consequence of that it's possible to redirect execution to
other functions. Doing like that will make TEE core end up with a data
abort.

Fixes: OP-TEE-2019-0019

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Reported-by: Martijn Bogaard <bogaard@riscure.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

318b762e07-Oct-2019 Jerome Forissier <jerome@forissier.org>

hikey, hikey960: set CFG_TEE_RAM_VA_SIZE to 2 MiB

Commit 8fd4d26f6e22 ("plat-hikey: support generic RAM layout") has
inadvertently removed the platform-specific definition of
TEE_RAM_VA_SIZE for HiK

hikey, hikey960: set CFG_TEE_RAM_VA_SIZE to 2 MiB

Commit 8fd4d26f6e22 ("plat-hikey: support generic RAM layout") has
inadvertently removed the platform-specific definition of
TEE_RAM_VA_SIZE for HiKey platforms. It was 2 MiB before, and became
1 MiB (the default). This commit restores the proper value.

Fixes the following panic on boot (HiKey960, 32-bit TEE core with pager
enabled):

I/TC: Pager is enabled. Hashes: 1824 bytes
I/TC: Pager pool size: 252kB
I/TC: OP-TEE version: 3.6.0-182-g2d7a8964df-dev (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)) #5 Mon 07 Oct 2019 08:22:21 AM UTC arm
E/TC:0 0 Panic at core/lib/libtomcrypt/mpi_desc.c:39 <get_mp_scratch_memory_pool>
E/TC:0 0 Call stack:
E/TC:0 0 0x3f003a4d

Fixes: 8fd4d26f6e22 ("plat-hikey: support generic RAM layout")
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2d7a896406-Aug-2019 Cedric Neveux <cedric.neveux@nxp.com>

driver: implement CAAM driver

Add the NXP CAAM drivers:
- Random generator (instantiation and random generation)
- Hash

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Acked-by: Etienne Ca

driver: implement CAAM driver

Add the NXP CAAM drivers:
- Random generator (instantiation and random generation)
- Hash

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

show more ...


/optee_os/MAINTAINERS
arch/arm/plat-imx/conf.mk
arch/arm/plat-imx/crypto_conf.mk
arch/arm/plat-imx/imx.h
arch/arm/plat-imx/platform_config.h
drivers/crypto/caam/caam_ctrl.c
drivers/crypto/caam/caam_desc.c
drivers/crypto/caam/caam_jr.c
drivers/crypto/caam/caam_pwr.c
drivers/crypto/caam/caam_rng.c
drivers/crypto/caam/hal/common/hal_cfg.c
drivers/crypto/caam/hal/common/hal_cfg_dt.c
drivers/crypto/caam/hal/common/hal_ctrl.c
drivers/crypto/caam/hal/common/hal_jr.c
drivers/crypto/caam/hal/common/hal_rng.c
drivers/crypto/caam/hal/common/registers/ccb_regs.h
drivers/crypto/caam/hal/common/registers/jr_regs.h
drivers/crypto/caam/hal/common/registers/rng_regs.h
drivers/crypto/caam/hal/common/registers/version_regs.h
drivers/crypto/caam/hal/common/sub.mk
drivers/crypto/caam/hal/imx_6_7/hal_clk_mx6.c
drivers/crypto/caam/hal/imx_6_7/hal_clk_mx7.c
drivers/crypto/caam/hal/imx_6_7/hal_clk_mx7ulp.c
drivers/crypto/caam/hal/imx_6_7/hal_ctrl.c
drivers/crypto/caam/hal/imx_6_7/hal_jr.c
drivers/crypto/caam/hal/imx_6_7/registers/ctrl_regs.h
drivers/crypto/caam/hal/imx_6_7/sub.mk
drivers/crypto/caam/hal/imx_8m/hal_clk.c
drivers/crypto/caam/hal/imx_8m/hal_ctrl.c
drivers/crypto/caam/hal/imx_8m/hal_jr.c
drivers/crypto/caam/hal/imx_8m/registers/ctrl_regs.h
drivers/crypto/caam/hal/imx_8m/sub.mk
drivers/crypto/caam/hal/ls/hal_clk.c
drivers/crypto/caam/hal/ls/hal_ctrl.c
drivers/crypto/caam/hal/ls/hal_jr.c
drivers/crypto/caam/hal/ls/registers/ctrl_regs.h
drivers/crypto/caam/hal/ls/sub.mk
drivers/crypto/caam/hal/sub.mk
drivers/crypto/caam/hash/caam_hash.c
drivers/crypto/caam/hash/sub.mk
drivers/crypto/caam/include/caam_common.h
drivers/crypto/caam/include/caam_desc_defines.h
drivers/crypto/caam/include/caam_desc_helper.h
drivers/crypto/caam/include/caam_hal_cfg.h
drivers/crypto/caam/include/caam_hal_clk.h
drivers/crypto/caam/include/caam_hal_ctrl.h
drivers/crypto/caam/include/caam_hal_jr.h
drivers/crypto/caam/include/caam_hal_rng.h
drivers/crypto/caam/include/caam_hash.h
drivers/crypto/caam/include/caam_io.h
drivers/crypto/caam/include/caam_jr.h
drivers/crypto/caam/include/caam_jr_status.h
drivers/crypto/caam/include/caam_pwr.h
drivers/crypto/caam/include/caam_rng.h
drivers/crypto/caam/include/caam_status.h
drivers/crypto/caam/include/caam_trace.h
drivers/crypto/caam/include/caam_utils_delay.h
drivers/crypto/caam/include/caam_utils_mem.h
drivers/crypto/caam/include/caam_utils_sgt.h
drivers/crypto/caam/include/caam_utils_status.h
drivers/crypto/caam/sub.mk
drivers/crypto/caam/utils/sub.mk
drivers/crypto/caam/utils/utils_delay.c
drivers/crypto/caam/utils/utils_mem.c
drivers/crypto/caam/utils/utils_sgt.c
drivers/crypto/caam/utils/utils_status.c
drivers/crypto/sub.mk
0f68a8c304-Sep-2019 Clement Faure <clement.faure@nxp.com>

core: imx: add imx7ulp CRM registers

Add imx7ulp CRM registers in a header file.

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

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

core: tadb.c: get rid of atomic reference counting

This commit changes the way the tadb_db global variable is protected
against concurrent access on creation and deletion. Instead of using an
atomic

core: tadb.c: get rid of atomic reference counting

This commit changes the way the tadb_db global variable is protected
against concurrent access on creation and deletion. Instead of using an
atomic reference counter (struct refcount) and a mutex, only the mutex
is used and taken unconditionally. The reference count becomes a global
integer protected by the same mutex.

Using a struct refcount was apparently an optimization to avoid taking
the lock unless actual creation or deletion of the tadb_db was needed.
Unfortunately this implementation was causing occasional crashes of the
TEE core (easily reproducible on HiKey running 'xtest 1013' in a loop).
The new implementation is simpler and appears to be rock solid with no
measurable difference in performance.

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

show more ...

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

core: add support for dumping build configuration info on boot

During development, we occasionally experience crashes within the TEE
core. When the tests are run locally, the developer has all the n

core: add support for dumping build configuration info on boot

During development, we occasionally experience crashes within the TEE
core. When the tests are run locally, the developer has all the needed
information to troubleshoot the issue. But when the crash occurs on a
remote host (CI for instance), it is sometimes inconvenient or even
impossible to retrieve files other than the console logs. As a result,
it is equally inconvenient or impossible to obtain a symbolized crash
dump (scripts/symbolize.py needs the dump message but also tee.elf).
If the exact build configuration is known, then it is possible to
reproduce the build locally (assuming the same toolchain is also used
which is not a problem in practice) and proceed with debugging.
Unfortunately the values of the CFG_ flags are not always shown in the
logs and omitting only one flag can significantly change the TEE
binary.

This commit introduces CFG_SHOW_CONF_ON_BOOT (default n). When enabled,
the contents of the build configuration file $O/conf.mk is printed
to the secure console during initialization with TRACE_INFO severity.
The file is compressed to reduce memory usage and space used in the
logs, and it is encoded into printable text.

To obtain the conf.mk file, one needs to copy and paste the encoded
text into 'base64 -d | xz -d'. These two commands are also required at
build time when CFG_SHOW_CONF_ON_BOOT is y.

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

show more ...

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

TA dev kit: Clang support

Updates ta/mk/ta_dev_kit.mk and other makefiles so that the COMPILER
variable can be used when building TAs: make COMPILER=clang ...

Signed-off-by: Jerome Forissier <jerom

TA dev kit: Clang support

Updates ta/mk/ta_dev_kit.mk and other makefiles so that the COMPILER
variable can be used when building TAs: make COMPILER=clang ...

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

show more ...

98d863a505-Jul-2019 Jerome Forissier <jerome@forissier.org>

Experimental Clang support

Allows building with Clang with "make COMPILER=clang [other flags...]".
The clang command has to be in the $PATH, as well as the associated
tools (clang-cpp, ld.lld, llvm-

Experimental Clang support

Allows building with Clang with "make COMPILER=clang [other flags...]".
The clang command has to be in the $PATH, as well as the associated
tools (clang-cpp, ld.lld, llvm-ar, llvm-nm, llvm-objcopy and
llvm-readelf).

Tested with Clang built from the master branch of [1] (development
version for 9.0):

mkdir build; cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=~/llvm-install \
-DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_TARGETS_TO_BUILD="AArch64;ARM" \
~/llvm-project/llvm
ninja && ninja install

Limitations:

- CFG_CORE_SANITIZE_KADDRESS=y is not supported.
- CFG_WITH_PAGER is supported, but requires that the TEE core be
linked with the GNU linker. The reason is documented in
mk/clang.mk.

Bug:

- ldelf assertion failure in xtest 1019 when CFG_ULIBS_SHARED=y (QEMU)
E/LD: assertion 'maps[map_idx].sz == sz' failed at ldelf/ta_elf.c:1114 in ta_elf_print_mappings()
Prevents ldelf from displaying the TA mappings on abort or panic, but
does not seem to cause any other problem.

Link: [1] https://github.com/llvm/llvm-project/commits/8351c327647
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU pager/no pager)
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMUv8, pager/no pager)
Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960, 32/64, GP)
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

179c8fe826-Mar-2019 Volodymyr Babchuk <vlad.babchuk@gmail.com>

plat/rcar: fix core numbering for M3 flavor

R-car Gen3 SoCs have consistent core numbering across all
variations: CA57 cluster have core numbers 0-3 and CA53 have
numbers 4-7.

M3 flavor have 6 core

plat/rcar: fix core numbering for M3 flavor

R-car Gen3 SoCs have consistent core numbering across all
variations: CA57 cluster have core numbers 0-3 and CA53 have
numbers 4-7.

M3 flavor have 6 cores: two CA57s and four CA53s. Taking
into account consistent numbering, M3 will have the following
core ids: 0, 1, 3, 5, 6, 7. To fix this, we need to set
CFG_CORE_CLUSTER_SHIFT to 1.

This somewhat abuses implementation of get_core_pos_mpidr(),
but it is not expected, that it will change in the future.

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

build: make cfg-one-enabled return 'n' instead of an empty string

Modify cfg-one-enabled in the same way the parent commit modified
cfg-all-enabled.

Signed-off-by: Jerome Forissier <jerome@forissie

build: make cfg-one-enabled return 'n' instead of an empty string

Modify cfg-one-enabled in the same way the parent commit modified
cfg-all-enabled.

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

show more ...

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

Revert "hikey: increase core heap size to 192 kB"

This reverts commit 28c75dbebc49 ("hikey: increase core heap size to
192 kB") which increased the core heap size in order to pass the AOSP
VTS. Unfo

Revert "hikey: increase core heap size to 192 kB"

This reverts commit 28c75dbebc49 ("hikey: increase core heap size to
192 kB") which increased the core heap size in order to pass the AOSP
VTS. Unfortunately, this bigger value does not work well when the pager
is enabled: it causes lots of page faults and a massive slowdown (for
instance, 'xtest 1013' on HiKey620 completes in ~ 1.7 s with the
default heap size of 64 kB but takes ~ 53 s with 192 kB).

Therefore, revert to the previous configuration. A bigger value can
always be set on the command line or by other means when building for
AOSP.

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

show more ...

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

core: fix configuration check for CFG_PAGED_USER_TA

The cfg-depends-all function from mk/checkconf.mk has to be enclosed
in a $(eval ...) statement. Fix core/core.mk accordingly.

Signed-off-by: Jer

core: fix configuration check for CFG_PAGED_USER_TA

The cfg-depends-all function from mk/checkconf.mk has to be enclosed
in a $(eval ...) statement. Fix core/core.mk accordingly.

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

show more ...

28c75dbe17-Sep-2019 Victor Chong <victor.chong@linaro.org>

hikey: increase core heap size to 192 kB

To pass VTS in AOSP builds.

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>

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

core: move sockets PTA to core/tee

The sockets pseudo-TA is architecture-independent. Move it to
core/tee and drop the pta_ prefix which is not really useful.

Signed-off-by: Jerome Forissier <jerom

core: move sockets PTA to core/tee

The sockets pseudo-TA is architecture-independent. Move it to
core/tee and drop the pta_ prefix which is not really useful.

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

show more ...

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

core: move PTAs from core/arch/arm/pta to core/pta

All pseudo-TAs in core/arch/arm/pta are not architecture-
specific so move them out of the arch directory.

sdp_pta.c is renamed sdp.c since _pta i

core: move PTAs from core/arch/arm/pta to core/pta

All pseudo-TAs in core/arch/arm/pta are not architecture-
specific so move them out of the arch directory.

sdp_pta.c is renamed sdp.c since _pta is redundant.

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

show more ...

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

core: move test PTAs to core/pta/tests

Moves the test PTAs out of the arch-dependent tree into core/pta/tests.
File names are shortened a bit since the full paths make the purpose
clear.

Signed-off

core: move test PTAs to core/pta/tests

Moves the test PTAs out of the arch-dependent tree into core/pta/tests.
File names are shortened a bit since the full paths make the purpose
clear.

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

show more ...

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

core: prepare to move PTAs under core/pta and core/pta/tests

Most pseudo-TAs are currently under core/arch/arm/pta. This is wrong
since none of those are architecture-dependent. This patch creates
c

core: prepare to move PTAs under core/pta and core/pta/tests

Most pseudo-TAs are currently under core/arch/arm/pta. This is wrong
since none of those are architecture-dependent. This patch creates
core/pta and core/pta/tests to prepare for the following scheme:
- PTAs that implement a GP TEE API (sockets, for example) should be in
core/tee
- PTAs that implement other system services should be in /core/pta
- Test PTAs should be in core/pta/tests
- Platform-specific PTAs belong in the platform's directory
- Architecture-specific (but not platform-specific) PTAs should go
in core/arch/$(ARCH)/pta (there are none currently)

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

show more ...

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

core: pta/gprof.c: remove <arm.h> include

The gprof pseudo-TA does not need <arm.h> so remove it.

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

core: pta/gprof.c: remove <arm.h> include

The gprof pseudo-TA does not need <arm.h> so remove it.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@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 ...


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

1...<<161162163164165166167168169170>>...260