| 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 ...
|
| 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 ...
|
| 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 ...
|