| e268fc08 | 01-Dec-2015 |
Pascal Brand <pascal.brand@st.com> |
Fix obj address in syscall_storage_obj_create()
This fixes "xtest 7584"
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Fix obj address in syscall_storage_obj_create()
This fixes "xtest 7584"
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| e86f1266 | 05-Nov-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
Make TEE Core TA interaction 64-bit compatible
* Updates TA entry * Update ta_head * Updates the syscall interface * Adds functions to make a short pointer (32-bit uref) from a kernel pointer and
Make TEE Core TA interaction 64-bit compatible
* Updates TA entry * Update ta_head * Updates the syscall interface * Adds functions to make a short pointer (32-bit uref) from a kernel pointer and vice versa
Note that this change is not backwards compatible, TAs needs to be recompiled.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 80ddeac7 | 06-Nov-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
Add ALIGNMENT_IS_OK to libutils/ext/include/util.h, delete unused code
TEE_ALIGNMENT_IS_OK() is renamed ALIGNMENT_IS_OK() and moved to lib/libutils/ext/include/util.h, which avoids duplication (was
Add ALIGNMENT_IS_OK to libutils/ext/include/util.h, delete unused code
TEE_ALIGNMENT_IS_OK() is renamed ALIGNMENT_IS_OK() and moved to lib/libutils/ext/include/util.h, which avoids duplication (was previously in core/include/kernel/tee_common_unpg.h and lib/libutee/include/utee_defines.h). Call sites are adjusted accordingly.
It is assumed that the compiler keyword __alignof__ is available, so CFG_TC_NO_ALIGNOF is of no use. We also remove unused definitions: TEE_ALIGNMENT_*B_IS_OK().
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| b666b6f2 | 28-Oct-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: thread-safe sessions
Make session handling thread-safe with tee_ta_get_session(), tee_ta_put_session() and tee_ta_unlink_session().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.o
core: arm: thread-safe sessions
Make session handling thread-safe with tee_ta_get_session(), tee_ta_put_session() and tee_ta_unlink_session().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 2cdaaacb | 17-Nov-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: TEE_GetSystemTime() updates
- Set gpd.tee.systemTime.protectionLevel to 1000 when the time source is the physical count register (CNTPCT), that is, when CFG_SECURE_TIME_SOURCE_CNTPCT=y. The pr
core: TEE_GetSystemTime() updates
- Set gpd.tee.systemTime.protectionLevel to 1000 when the time source is the physical count register (CNTPCT), that is, when CFG_SECURE_TIME_SOURCE_CNTPCT=y. The protection level value is moved into the time_source struct for better modularity. - When the time source is REE (CFG_SECURE_TIME_SOURCE_REE=y), make sure that successive calls return increasing values as required by the GP TEE Core Internal API v1.1.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 453a5030 | 20-Oct-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: rename system calls (s/tee_svc_/syscall_/)
Assign the syscall_ prefix to all system calls to make them stand out from other functions.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro
core: rename system calls (s/tee_svc_/syscall_/)
Assign the syscall_ prefix to all system calls to make them stand out from other functions.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 12ddd2b1 | 19-Oct-2015 |
Pascal Brand <pascal.brand@st.com> |
Introduce free_rsa_public_key() and free_ecc_public_key()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand
Introduce free_rsa_public_key() and free_ecc_public_key()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| c5eaed6d | 14-Oct-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
Fix potential memory leak
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Revi
Fix potential memory leak
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| 35ade1d7 | 12-Oct-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
Fix memory leak (start enum)
Enumeration loop added for object corruption. Add missing free because of tee_svc_storage_set_enum obj_id memory allocation (malloc) during enumeration loop. Force obj_i
Fix memory leak (start enum)
Enumeration loop added for object corruption. Add missing free because of tee_svc_storage_set_enum obj_id memory allocation (malloc) during enumeration loop. Force obj_id to NULL in the enumation loop to skip freeing at 'exit' label statement. closes #494
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
show more ...
|
| 5468da97 | 09-Oct-2015 |
Pascal Brand <pascal.brand@st.com> |
Fix potential memory leak in File Storage
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: James Kung <james.kung@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| a2e9a830 | 16-Sep-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP11 : trusted storage verify (block enc fs)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@l
GP11 : trusted storage verify (block enc fs)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| 8b0894f5 | 09-Sep-2015 |
James Kung <james.kung@linaro.org> |
Secure Storage: Support extending file size and file hole
With this patch, user can extend file size by truncate operation.
Also the file hole feature is supported in this patch, that is, user can
Secure Storage: Support extending file size and file hole
With this patch, user can extend file size by truncate operation.
Also the file hole feature is supported in this patch, that is, user can seek to a position larger than file size and write data from the position.
The file hole implementation actually is not an efficient solution, because we always fill zero in these holes.
Signed-off-by: James Kung <james.kung@linaro.org> Tested-by: James Kung <james.kung@linaro.org> (QEMU, MT8173 EVB) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 9470783f | 09-Sep-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: export TEE file header structure for xtest
Export 'struct meta_header' and 'struct block_header' to $TA_DEV_KIT_DIR/host_include, those structures can be used by xtest. This prevents
Secure Storage: export TEE file header structure for xtest
Export 'struct meta_header' and 'struct block_header' to $TA_DEV_KIT_DIR/host_include, those structures can be used by xtest. This prevents hard-coding the structure in xtest.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 9ea20add | 09-Sep-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: fix data abort issue
- Tmpfile is NULL before checking whether file exists, if this check failed we will unlink(tmpfile). This caused data abort.
- Minor fixes in tee_fs_common.c
Secure Storage: fix data abort issue
- Tmpfile is NULL before checking whether file exists, if this check failed we will unlink(tmpfile). This caused data abort.
- Minor fixes in tee_fs_common.c for consistent naming and error checking.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 07a169c5 | 03-Sep-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP11 : DSA-SHA224 and DSA-SHA256 algo
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.o
GP11 : DSA-SHA224 and DSA-SHA256 algo
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| bc420748 | 05-May-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
TA as ELF + signature
Changes format of TA to use the ELF format instead. This patch also adds signature checking of the TA. The format of the TA is: <Signed header> <ELF header> <Program header> (p
TA as ELF + signature
Changes format of TA to use the ELF format instead. This patch also adds signature checking of the TA. The format of the TA is: <Signed header> <ELF header> <Program header> (part of ELF spec, pointing out segments to load) <Sections>
A struct ta_head is placed in the first section of the first segment to carry flags and other properties of the TA.
elf32.h, elf64.h and elf_common.h are imported from FreeBSD.
In addition to the R_ARM_RELATIVE relocation type, adds support for R_ARM_ABS32 relocations. Since a symbol table is needed to process this relocation type a separate program header is added in the TA ELF containing the sections .dynamic, .dynsym, .dynstr and .hash. These sections are only needed during relocation and could be released once the TA is relocated.
A default signing key has been generated with openssl genrsa -out key.pem and added as keys/default_ta.pem
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
show more ...
|
| c7856574 | 05-Jun-2015 |
James Kung <james.kung@linaro.org> |
Secure Storage: Implement block-based encrypted file system
- Meta file encryption/decryption is enforced - Block file encryption/decryption is optional
Signed-off-by: James Kung <james.kung@linaro
Secure Storage: Implement block-based encrypted file system
- Meta file encryption/decryption is enforced - Block file encryption/decryption is optional
Signed-off-by: James Kung <james.kung@linaro.org> Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: James Kung <james.kung@linaro.org> (QEMU, MT8173 EVB) Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| f4c0a293 | 23-Jun-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: Implemented atomic operations
The following operations should be atomic:
- Write - Rename - Create/Delete - Truncate
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu
Secure Storage: Implemented atomic operations
The following operations should be atomic:
- Write - Rename - Create/Delete - Truncate
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 69d4445d | 05-Jun-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: Implemented block-based file operations
This patch represent a TEE file by many small REE files and single meta file, which is used to describe the TEE file. This approach can be use
Secure Storage: Implemented block-based file operations
This patch represent a TEE file by many small REE files and single meta file, which is used to describe the TEE file. This approach can be used as basis to support atomic operation and enhance encrypt fs performance.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 096cbcdd | 07-Jul-2015 |
Jean-Michel Delorme <jean-michel.delorme@st.com> |
Align Session handle for generic ta interface entry
TEE session handle is now used by all tee_dispatch_xx function. uint32_t type ID parameter has be removed for the tee_dispatch_close_session() fun
Align Session handle for generic ta interface entry
TEE session handle is now used by all tee_dispatch_xx function. uint32_t type ID parameter has be removed for the tee_dispatch_close_session() function.
Signed-off-by: Jean-Michel Delorme <jean-michel.delorme@st.com> Reviewed-by: Pascal BRAND <pascal.brand@st.com> Reviewed-by: Etienne CARRIERE <etienne.carriere@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| 60fc60b3 | 22-Jul-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: optimize size with const crypto_ops
Optimize size of unpaged data by making crypto_ops const.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand
core: optimize size with const crypto_ops
Optimize size of unpaged data by making crypto_ops const.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 543d7e74 | 16-Jul-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: ECDH at GP level
Following derive key algorithm of Global Platform Internal Core API v1.1 are implemented: TEE_ALG_ECDH_P192 TEE_ALG_ECDH_P224 TEE_ALG_ECDH_P256 TEE_ALG_ECDH_P38
ECC: ECDH at GP level
Following derive key algorithm of Global Platform Internal Core API v1.1 are implemented: TEE_ALG_ECDH_P192 TEE_ALG_ECDH_P224 TEE_ALG_ECDH_P256 TEE_ALG_ECDH_P384 TEE_ALG_ECDH_P521
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Cedric Chaumont <cedric.chaumont@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 00d2e232 | 17-Jul-2015 |
Pascal Brand <pascal.brand@st.com> |
Fix Key-Pair Parts for Operation Modes
Table 6-6 "Key-Pair Parts for Operation Modes" of Internal Core API v1.1 shows that public key is used in case of encrypt / verify, but that a key pair can be
Fix Key-Pair Parts for Operation Modes
Table 6-6 "Key-Pair Parts for Operation Modes" of Internal Core API v1.1 shows that public key is used in case of encrypt / verify, but that a key pair can be given anyhow, only the public key part being used.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Cedric Chaumont <cedric.chaumont@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| c988227a | 15-Jul-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: ECDSA at GP level
Reviewed-by: Cedric Chaumont <cedric.chaumont@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Sign
ECC: ECDSA at GP level
Reviewed-by: Cedric Chaumont <cedric.chaumont@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| b64d6909 | 02-Jul-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP11 : Time functions fix/panic reason
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.
GP11 : Time functions fix/panic reason
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|