| b7fc217f | 23-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
Cleanup
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| 452eae19 | 21-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
Fix wrong parameter in GCM authentication
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.o
Fix wrong parameter in GCM authentication
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| c507e4c2 | 09-Oct-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove unused function tee_pobj_init
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> |
| 03c42787 | 15-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
CCM Authentication optimization
CCM is now optimized. Instead of being computed twice, libtomcrypt code has been optimized so that classical ccm_init, ccm_process,... can be used incrementally (wh
CCM Authentication optimization
CCM is now optimized. Instead of being computed twice, libtomcrypt code has been optimized so that classical ccm_init, ccm_process,... can be used incrementally (when the whole stream is not available when starting the authentication). CCM way of proceeding is now very closed to GCM authentication.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| cebdec51 | 18-Sep-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Reenable warnings for all non-3rd party code
* Reenables warnings for all non-3rd party code * Renames dprintf macro to dprintf_level |
| 0e692b78 | 29-Aug-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Fix strict-aliasing for DEBUG=0 |
| e4120a1a | 16-Sep-2014 |
Pascal Brand <pascal.brand@st.com> |
XTS implementation
Fix libtomcrypt XTS: when applying XTS encryption / decryption, onto partial buffers, the tweak is now updated.
Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| b8976a60 | 15-Sep-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
plat-vexpress: fix non-debug build
Fixes a number of build errors when 'PLATFORM=vexpress' and 'DEBUG=': - '<var> may be used uninitialized' - 'dereferencing type-punned pointer will break strict-al
plat-vexpress: fix non-debug build
Fixes a number of build errors when 'PLATFORM=vexpress' and 'DEBUG=': - '<var> may be used uninitialized' - 'dereferencing type-punned pointer will break strict-aliasing rules' This one is addressed by adding -fno-strict-aliasing to the cflags for the problematic files, which is a temporary solution. - 'inlining failed'
Also, make sure tee_svc_syscall_table is aligned on a 32-bit boundary. Otherwise, an alignment fault might occur: ERR [0x0] TEE-CORE:tee_pager_print_error_abort:101: data-abort at 0x602f16b FSR 0x1 PC 0x6007bd4 TTBR0 0x603804A CONTEXIDR 0x1 CPUID 0x80000001 DBGPCSR 0x0 CPSR 0x80000013 (read from SPSR) ERR [0x0] TEE-CORE:tee_pager_handle_abort:164: [TEE_PAGER] alignement fault! (trap CPU)
Note: on Foundation_v8, I measured a ~3x speedup between debug and non-debug builds for asymmetric crypto tests.
show more ...
|
| 9c3040ee | 11-Sep-2014 |
Pascal Brand <pascal.brand@st.com> |
Fix GCM Authentication
Authentication tag length, given during the enc_final(), was wrong. It was the max of the tag buffer, instead of the value provided during the init.
Other cleanup also takes
Fix GCM Authentication
Authentication tag length, given during the enc_final(), was wrong. It was the max of the tag buffer, instead of the value provided during the init.
Other cleanup also takes place to simplify CCM authentication.
Change-Id: I14c02b2a39a51fb485b0ff04707895f91fcc73a3 Reviewed-on: https://gerrit.st.com/12369 Tested-by: Pascal BRAND <pascal.brand@st.com> Tested-by: Jean-Michel DELORME <jean-michel.delorme@st.com> Reviewed-by: Jean-Michel DELORME <jean-michel.delorme@st.com> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| d1aea08f | 10-Sep-2014 |
SY Chiu <sy.chiu@linaro.org> |
Implemented wait in normal world
Instead of busy waiting in secure world, it is more efficient to wait in normal world such that HLOS can schedule another task to execute while waiting
- Added a ne
Implemented wait in normal world
Instead of busy waiting in secure world, it is more efficient to wait in normal world such that HLOS can schedule another task to execute while waiting
- Added a new RPC command to wait in linux driver - Remove wait_specific() hook in time_source, it seems can be a generic function. - This patch depends on "Implemented wait in normal world" in optee_linuxdrver
show more ...
|
| 8844ebfc | 02-Sep-2014 |
Pascal Brand <pascal.brand@st.com> |
Fix #6323: A failing RSA decode leads to panic
Change-Id: Ia4762f076922338f280d431f104b653e731bf64f Reviewed-on: https://gerrit.st.com/11598 Reviewed-by: Jean-Michel DELORME <jean-michel.delorme@st.
Fix #6323: A failing RSA decode leads to panic
Change-Id: Ia4762f076922338f280d431f104b653e731bf64f Reviewed-on: https://gerrit.st.com/11598 Reviewed-by: Jean-Michel DELORME <jean-michel.delorme@st.com> Tested-by: Jean-Michel DELORME <jean-michel.delorme@st.com> Tested-by: Jocelyn RICARD <jocelyn.ricard@st.com> Reviewed-by: Pascal BRAND <pascal.brand@st.com>
Update wrt comments from review
Fix returned error when the mode is not ok
show more ...
|
| 6b050c9f | 28-Aug-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
tee_acipher_rsadorep: fix handling of zero-padding in output
- Always remove leading null bytes in output buffer (previously this was done only for PK_PRIVATE keys) - Leave one null byte when rsa_ex
tee_acipher_rsadorep: fix handling of zero-padding in output
- Always remove leading null bytes in output buffer (previously this was done only for PK_PRIVATE keys) - Leave one null byte when rsa_exptmod() output is all zeroes (do not return an empty buffer) - Fix output buffer length check (take padding into account)
show more ...
|
| a17acc4c | 27-Aug-2014 |
Sabrina Ni <sabrina.ni@linaro.org> |
Create util.h to rearrange define macro |
| 647f9c76 | 21-Aug-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
Get value of gpd.tee.arith.maxBigIntSize from libutee
The property gpd.tee.arith.maxBigIntSize was implemented in TEE core by tee_svc_sys_get_property() which was returning a constant taken from the
Get value of gpd.tee.arith.maxBigIntSize from libutee
The property gpd.tee.arith.maxBigIntSize was implemented in TEE core by tee_svc_sys_get_property() which was returning a constant taken from the crypto module (LTC_MAX_BITS_PER_VARIABLE / 2). The correct value is TEE_MAX_NUMBER_OF_SUPPORTED_BITS from libutee. This commit makes libutee return the appropriate value directly (without calling the TEE core) and deletes the property from the syscall. Additionally, this removes the unjustified dependency of tee_svc.c on <tee_ltc_wrapper.h>.
show more ...
|
| 27cbcc57 | 08-Aug-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Cleanup loading/unloading of a TA
* A TA is only loaded via tee-supplicant, directly supplying a pointer to the TA binary is not supported any longer. This requires and update to the client lib
Cleanup loading/unloading of a TA
* A TA is only loaded via tee-supplicant, directly supplying a pointer to the TA binary is not supported any longer. This requires and update to the client lib to avoid leaking shared memory. * The shared memory used to load the TA is freed as soon as the TA have been loaded into secure memory * Divides tee_ta_init_session() into sevaral functions * Divides tee_ta_close_session() into two functions * Divides tee_ta_load() into several functions with one separate function for signature verification * Removes some unused code for kernel TAs * Removes the option to lock/unlock a TA is only used by kernel TAs which we don't support any longer. * Removes the static global tee_rs. Switch to use Thread Local Storage pointer provided by the thread handler. * Adds TA_FLAG_USER_MODE by default to TA header since all TAs are user mode TAs now. * Reformats user_ta_header.c to make checkpatch less unhappy with it.
show more ...
|
| ec219598 | 13-Aug-2014 |
Pascal Brand <pascal.brand@st.com> |
Remove core dependencies from generic part
This concerns: - Communication Non-Secure <--> Secure - sys/types.h contains some types not defined on all compilers
Signed-off-by: Pascal Brand <pascal.b
Remove core dependencies from generic part
This concerns: - Communication Non-Secure <--> Secure - sys/types.h contains some types not defined on all compilers
Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| c0346845 | 05-Jun-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Add plat-vexpress
* Initial support for Versatile Express of FVP with ARM Trusted Firmware (ATF below)
* Use entry vector for entering TEE
Align interface between TEE and secure monitor with t
Add plat-vexpress
* Initial support for Versatile Express of FVP with ARM Trusted Firmware (ATF below)
* Use entry vector for entering TEE
Align interface between TEE and secure monitor with the interface between OPTEED in ATF and TEE.
Uses an ATF compatible entry vector for entering TEE from internal secure monitor.
Internal secure monitor saves entry reason to be able to tell when switching back to nonsecure world if r0-r3 should be preserved (FIQ case) or returned as is (normal call case).
* Many small fixes of generic problems that could affect other platforms too.
* Disable unaligned data accesses by adding compiler flag -mno-unaligned-access
* Adds support for Versatile Express of QEMU with 8 MiB of secure DRAM
show more ...
|
| 1665420c | 22-Jun-2014 |
Joakim Bech <joakim.bech@linaro.org> |
Add constant time buf_compare_ct function
This patch adds a constant time memory compare function that mitigates timing attacks. This patch also fixes three locations where this could be a problem.
Add constant time buf_compare_ct function
This patch adds a constant time memory compare function that mitigates timing attacks. This patch also fixes three locations where this could be a problem.
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| b0104773 | 12-Jun-2014 |
Pascal Brand <pascal.brand@st.com> |
Open-source the TEE Core
Signed-off-by: Pascal Brand <pascal.brand@st.com> |