History log of /optee_os/core/tee/ (Results 401 – 425 of 584)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
8dceff9b21-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: remove CFG_ENC_FS

Removes CFG_ENC_FS, encryption is always enabled in the file systems from
now on.

Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64 GP)
Tested-by: Etien

core: remove CFG_ENC_FS

Removes CFG_ENC_FS, encryption is always enabled in the file systems from
now on.

Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64 GP)
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu_v8/b2260, reefs/sqlfs, gp testsuite)
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

21bbcc6713-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: remove object checks in syscall_storage_start_enum()

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

eb6485e313-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: remove unneeded calls to tee_obj_verify()

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

1955df6007-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: tee_fs_rpc: hide internal definitions

Moves internal definitions in tee_fs_rpc.h to tee_fs_rpc.c.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <je

core: tee_fs_rpc: hide internal definitions

Moves internal definitions in tee_fs_rpc.h to tee_fs_rpc.c.

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

show more ...

c3b3c4de07-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: add RPC FS cache for payload data

Adds an RPC FS cache for payload data. Allocated RPC FS payload data isn't
free until the thread exits the current command. This allows reuse of the
memory al

core: add RPC FS cache for payload data

Adds an RPC FS cache for payload data. Allocated RPC FS payload data isn't
free until the thread exits the current command. This allows reuse of the
memory allocation, avoiding many needless entries of tee-supplicant.

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

show more ...

6d2f7cf206-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: optimize tee_svc_storage_read_head()

Optimizes tee_svc_storage_read_head() by leaving the file descriptor
open in the struct tee_obj.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.or

core: optimize tee_svc_storage_read_head()

Optimizes tee_svc_storage_read_head() by leaving the file descriptor
open in the struct tee_obj.

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

show more ...

5b5a1a4805-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: tee_obj_alloc() initialize file descriptor

tee_obj_alloc() initializes file descriptor in struct tee_obj to -1
to mark it invalid.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

core: tee_obj_alloc() initialize file descriptor

tee_obj_alloc() initializes file descriptor in struct tee_obj to -1
to mark it invalid.

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

show more ...

894b41ab05-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: tee_obj_close() close all persistent objects

tee_obj_close() closes all persistent objects regardless of the 'fd'
field. The 'close' operation is only called if 'fd' is positive.

Reviewed-by:

core: tee_obj_close() close all persistent objects

tee_obj_close() closes all persistent objects regardless of the 'fd'
field. The 'close' operation is only called if 'fd' is positive.

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

show more ...

287359f422-Sep-2016 lackan <liang.guanchao@linaro.org>

crypto: fix incorrect algo passed to cipher.final()

Fix an error in function tee_svc_cipher_update_helper, and add assert
in function cipher_final to prevent it being called by an algorithm
that is

crypto: fix incorrect algo passed to cipher.final()

Fix an error in function tee_svc_cipher_update_helper, and add assert
in function cipher_final to prevent it being called by an algorithm
that is not a symmetric cipher.

Signed-off-by: lackan <liang.guanchao@linaro.org>
[Reword commit subject]
Signed-off-by: Jerome Forissier <jerome.forissier@.linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.travis.yml
/optee_os/MAINTAINERS.md
/optee_os/README.md
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/kernel/generic_boot.h
/optee_os/core/arch/arm/include/kernel/user_ta.h
/optee_os/core/arch/arm/include/mm/pgt_cache.h
/optee_os/core/arch/arm/include/mm/tee_pager.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/user_ta.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/pgt_cache.c
/optee_os/core/arch/arm/mm/tee_mmu.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-d02/conf.mk
/optee_os/core/arch/arm/plat-d02/platform_config.h
/optee_os/core/arch/arm/plat-hikey/conf.mk
/optee_os/core/arch/arm/plat-hikey/platform_config.h
/optee_os/core/arch/arm/plat-imx/a9_plat_init.S
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/plat-ls/platform_config.h
/optee_os/core/arch/arm/plat-mediatek/platform_config.h
/optee_os/core/arch/arm/plat-rcar/platform_config.h
/optee_os/core/arch/arm/plat-rpi3/platform_config.h
/optee_os/core/arch/arm/plat-sprd/conf.mk
/optee_os/core/arch/arm/plat-sprd/platform_config.h
/optee_os/core/arch/arm/plat-stm/platform_config.h
/optee_os/core/arch/arm/plat-ti/platform_config.h
/optee_os/core/arch/arm/plat-vexpress/platform_config.h
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/core.mk
/optee_os/core/include/mm/tee_mmu_types.h
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/lib/libtomcrypt/src/tee_ltc_provider.c
tee_svc_cryp.c
/optee_os/documentation/optee_with_auth_framework.md
/optee_os/mk/config.mk
/optee_os/scripts/gen_hashed_bin.py
/optee_os/scripts/render_font.py
/optee_os/scripts/tee_bin_parser.py
9102ce2119-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

syscall storage_obj_seek: fix sign extension

Fixes problem with sign extension (or lack thereof) for the syscall
storage_obj_seek. Updates the general rules of arguments for syscalls to
use signed 3

syscall storage_obj_seek: fix sign extension

Fixes problem with sign extension (or lack thereof) for the syscall
storage_obj_seek. Updates the general rules of arguments for syscalls to
use signed 32-bit parameters when a signed parameter is needed.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Suggested-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU and FVP)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

a2b0026c16-Sep-2016 Jerome Forissier <jerome.forissier@linaro.org>

Fix 64-bit compile error in tee_sql_fs.c

$ make PLATFORM=hikey CFG_SQL_FS=y CFG_ARM64_core=y
[snip]
core/tee/tee_sql_fs.c: In function ‘sql_fs_read’:
core/tee/tee_sql_fs.c:740:41: error: comparison

Fix 64-bit compile error in tee_sql_fs.c

$ make PLATFORM=hikey CFG_SQL_FS=y CFG_ARM64_core=y
[snip]
core/tee/tee_sql_fs.c: In function ‘sql_fs_read’:
core/tee/tee_sql_fs.c:740:41: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if ((fdp->pos + len) < len || fdp->pos > fdp->meta.length)
^
cc1: all warnings being treated as errors

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

show more ...

b5219b4c15-Sep-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: bugfix reading beyond end of file

Bugfix for reading beyond end of a persistent object when the file
position is larger the the size of the data stream. Applies to both REE
FS and SQL FS.

Rev

core: bugfix reading beyond end of file

Bugfix for reading beyond end of a persistent object when the file
position is larger the the size of the data stream. Applies to both REE
FS and SQL FS.

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

show more ...

caa9cf5313-Sep-2016 Jerome Forissier <jerome.forissier@linaro.org>

storage: SQL FS concurrency

Allow concurrent access by multi-session/multi-instance TA.

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

storage: SQL FS concurrency

Allow concurrent access by multi-session/multi-instance TA.

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

show more ...

15ace8d313-Sep-2016 Jerome Forissier <jerome.forissier@linaro.org>

storage: REE FS concurrency

Allow concurrent access by multi-session/multi-instance TA.

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

storage: REE FS concurrency

Allow concurrent access by multi-session/multi-instance TA.

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

show more ...

b81882b213-Sep-2016 Jerome Forissier <jerome.forissier@linaro.org>

storage: protect TA directory with a mutex

There is a race condition in the code that creates and deletes trusted
storage. If multiple threads invoke a multi-session TA to create and
delete differen

storage: protect TA directory with a mutex

There is a race condition in the code that creates and deletes trusted
storage. If multiple threads invoke a multi-session TA to create and
delete different files (such as xtest 6016), the following can occur:

Thread 1 (create file1) | Thread 2 (delete file2)
|
| unlink("/TA_dir/file2");
mkdir("/TA_dir"); |
| rmdir("/TA_dir");
create("/TA_dir/file1"); |
=> ENOENT |

Add a mutex to prevent this race condition.

Note: the bug is currently not triggered by xtest 1016 because the test
is run for RPMB FS only, and because directory operations are no-ops in
the RPMB implementation. The fix will be needed when enabling single-TA
concurrency with the REE and SQL backends.

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

show more ...


/optee_os/.travis.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/generic_boot.h
/optee_os/core/arch/arm/include/kernel/unwind.h
/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/generic_entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/unwind_arm32.c
/optee_os/core/arch/arm/kernel/unwind_arm64.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/tee_mm.c
/optee_os/core/arch/arm/plat-hikey/platform_config.h
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/sta/stats.c
/optee_os/core/arch/arm/tee/init.c
/optee_os/core/core.mk
/optee_os/core/include/kernel/asan.h
/optee_os/core/include/mm/tee_mm.h
/optee_os/core/kernel/asan.c
/optee_os/core/kernel/sub.mk
/optee_os/core/lib/libtomcrypt/include/tomcrypt.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_argchk.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_cfg.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_cipher.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_custom.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_mac.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_macros.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_math.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_misc.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_pk.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_pkcs.h
/optee_os/core/lib/libtomcrypt/src/ciphers/aes.c
/optee_os/core/lib/libtomcrypt/src/ciphers/des.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_gf_mult.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_mult_h.c
/optee_os/core/lib/libtomcrypt/src/encauth/ocb/ocb_init.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_file.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_filehandle.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha224.c
/optee_os/core/lib/libtomcrypt/src/hashes/sha2/sha384.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_init.c
/optee_os/core/lib/libtomcrypt/src/mac/pmac/pmac_init.c
/optee_os/core/lib/libtomcrypt/src/math/multi.c
/optee_os/core/lib/libtomcrypt/src/math/rand_bn.c
/optee_os/core/lib/libtomcrypt/src/math/rand_prime.c
/optee_os/core/lib/libtomcrypt/src/math/sub.mk
/optee_os/core/lib/libtomcrypt/src/misc/base64/base64_decode.c
/optee_os/core/lib/libtomcrypt/src/misc/base64/base64_encode.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_argchk.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_fsa.c
/optee_os/core/lib/libtomcrypt/src/misc/error_to_string.c
/optee_os/core/lib/libtomcrypt/src/misc/zeromem.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_process.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/lrw/lrw_start.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_encrypt.c
/optee_os/core/lib/libtomcrypt/src/mpa_desc.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_export.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_import.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_ansi_x963_export.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod_timing.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_decrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_export.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_exptmod.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_import.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/prngs/rng_get_bytes.c
/optee_os/core/lib/libtomcrypt/src/prngs/sprng.c
/optee_os/core/lib/libtomcrypt/src/prngs/yarrow.c
/optee_os/core/lib/libtomcrypt/src/tee_ltc_provider.c
/optee_os/core/lib/libtomcrypt/sub.mk
tee_svc_storage.c
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/lib/libutils/ext/include/trace.h
/optee_os/lib/libutils/isoc/bget.c
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/malloc.h
/optee_os/lib/libutils/isoc/include/sys/cdefs.h
/optee_os/lib/libutils/isoc/malloc_lock.c
/optee_os/lib/libutils/isoc/sub.mk
/optee_os/mk/config.mk
b6f862e830-Aug-2016 Jerome Forissier <jerome.forissier@linaro.org>

storage: sqlfs: save memory when sql_fs_ftruncate() extends a file

There is no need to actually allocate a buffer filled with zeroes in
sql_fs_ftruncate(). Instead, update write_block_partial() so t

storage: sqlfs: save memory when sql_fs_ftruncate() extends a file

There is no need to actually allocate a buffer filled with zeroes in
sql_fs_ftruncate(). Instead, update write_block_partial() so that a
NULL data pointer means all null bytes. This eliminates a large (4K)
temporary allocation.

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

show more ...

a7e22cf524-Aug-2016 Lijianhui (Airbak) <airbak.li@hisilicon.com>

rpmb: move rpmb_mutex to fs layer

In rpmb_fs_write(), if other session write RPMB between read_fat() and
tee_rpmb_write(), it may write to the same address. So move rpmb_mutex
to fs layer for concur

rpmb: move rpmb_mutex to fs layer

In rpmb_fs_write(), if other session write RPMB between read_fat() and
tee_rpmb_write(), it may write to the same address. So move rpmb_mutex
to fs layer for concurrency scenarios.

Signed-off-by: Lijianhui (Airbak) <airbak.li@hisilicon.com>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

dbb790c619-Aug-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: init FS key manager late

Switches to service_init_late() to initialize FS key manager as it
depends on the tee_cryp_init service init call.

Reviewed-by: Jerome Forissier <jerome.forissier@lin

core: init FS key manager late

Switches to service_init_late() to initialize FS key manager as it
depends on the tee_cryp_init service init call.

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

show more ...

b48323a918-May-2016 Jerome Forissier <jerome.forissier@linaro.org>

secure storage: move common RPC code to its own file

The REE and SQL filesystems use similar RPC calls to tee-supplicant,
only with a different command ID. Move the code to a common file.

Signed-of

secure storage: move common RPC code to its own file

The REE and SQL filesystems use similar RPC calls to tee-supplicant,
only with a different command ID. Move the code to a common file.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown <david.brown@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

2ef14de111-May-2016 Jerome Forissier <jerome.forissier@linaro.org>

secure storage: add SQL filesystem

This commit adds a new container type for trusted storage: SQL FS.
Data are stored in the non-secure world, just like the REE FS
(CFG_REE_FS). But, unlike REE FS w

secure storage: add SQL filesystem

This commit adds a new container type for trusted storage: SQL FS.
Data are stored in the non-secure world, just like the REE FS
(CFG_REE_FS). But, unlike REE FS which manipulates several files for
each secure object, this implementation needs only one container in a
SQLite database per secure object. We rely on the transaction-based
nature of the database to provide atomicity.

A storage identifier is added to the TA API: TEE_STORAGE_PRIVATE_SQL.
Trusted applications can use it to select this filesystem. The value
TEE_STORAGE_PRIVATE defined by GlobalPlatform will also select the
SQL FS if all other implementations are disabled.

This feature is enabled with CFG_SQL_FS=y. It depends on SQL support
in tee-supplicant [1].

[1] https://github.com/OP-TEE/optee_client/pull/50

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown <david.brown@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

ad5d81d606-May-2016 Jerome Forissier <jerome.forissier@linaro.org>

secure storage: make sure we don't try to delete a NULL file

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown

secure storage: make sure we don't try to delete a NULL file

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown <david.brown@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

9dd2962806-May-2016 Jerome Forissier <jerome.forissier@linaro.org>

secure storage: add flag TEE_FS_S_IXUSR and use it

This flag should logically be set on directories so that they can be
traversed.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Revi

secure storage: add flag TEE_FS_S_IXUSR and use it

This flag should logically be set on directories so that they can be
traversed.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown <david.brown@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

8ec4c4e903-May-2016 Jerome Forissier <jerome.forissier@linaro.org>

secure storage: use absolute paths

Update the functions that create file and directory paths so that they
always output a leading slash, meaning an absolute path in the
underlying filesystem. In add

secure storage: use absolute paths

Update the functions that create file and directory paths so that they
always output a leading slash, meaning an absolute path in the
underlying filesystem. In addition to being cleaner, this can avoid
path manipulations in the lower-level code. For instance, code using
libsqlfs in tee-supplicant can use the path as-is. It does not make a
difference with code that would prepend a more complex path anyway.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown <david.brown@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

a6573dd127-Apr-2016 Jerome Forissier <jerome.forissier@linaro.org>

secure storage: move TEE_FS_MODE_* constants out of tee_fs_defs.h

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David B

secure storage: move TEE_FS_MODE_* constants out of tee_fs_defs.h

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: David Brown <david.brown@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

8c9d944523-Jul-2016 Etienne Carriere <etienne.carriere@linaro.org>

core: review assert and panic traces

Replace few "{ EMSG(...); panic(); }" with "panic(...);".

Disable file/line/func debug traces in panic() logs when
CFG_TEE_CORE_DEBUG is disable.

Change __asse

core: review assert and panic traces

Replace few "{ EMSG(...); panic(); }" with "panic(...);".

Disable file/line/func debug traces in panic() logs when
CFG_TEE_CORE_DEBUG is disable.

Change __assert_log() uses EMSG_RAW() to no pollute trace with
__assert_log() internals (duplicated file/line/func traces).

Change assert() to use a low/high verbosity mode upon
CFG_TEE_CORE_DEBUG as panic() does.

Change assert() to also trace the C function where assertion failed.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jen.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (QEMU)

show more ...

1...<<11121314151617181920>>...24