| 7b3758b4 | 15-Feb-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove unused FS key manager features
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 50a81498 | 15-Feb-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: provide a hash tree for secure storage
Provides a hash tree to be used by REE and SQL FS for the secure storage implementation.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Sig
core: provide a hash tree for secure storage
Provides a hash tree to be used by REE and SQL FS for the secure storage implementation.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 366f8a64 | 15-Feb-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: provide tee_fs_fek_crypt()
FS key manager provides tee_fs_fek_crypt().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| eaf1547c | 15-Feb-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove obsolete <tee/tee_fs_defs.h>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 2a5e2ec6 | 26-Jan-2017 |
Andy Green <andy@warmcat.com> |
prng: move old implementation to be weak default
The patch replaces the original entropy scheme using system time with the new api plat_prng_add_jitter_entropy().
The old scheme aimed to get 64 bit
prng: move old implementation to be weak default
The patch replaces the original entropy scheme using system time with the new api plat_prng_add_jitter_entropy().
The old scheme aimed to get 64 bits of entropy from the current time expressed in 64 bits in ms each time. Most of this was in fact zeros or unchanging for >256s. If you call it twice with 1ms, it actually provides 0 bits of entropy.
The replacement scheme aims to get 2 bits of entropy from the counter, which typically operates faster than 1MHz, greater than a thousand times more precision than the old way, each time.
For backwards compatibility, the old scheme is retained as the default or arches or platforms that did not provide an override to collect jitter in a better way.
Signed-off-by: Andy Green <andy@warmcat.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9a8a19cd | 08-Dec-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: encode UUID big endian
When encoding a UUID as a sequence of bytes, the spec (https://www.ietf.org/rfc/rfc4122.txt) says that the u32, and two u16s should be represented big endian.
Before th
core: encode UUID big endian
When encoding a UUID as a sequence of bytes, the spec (https://www.ietf.org/rfc/rfc4122.txt) says that the u32, and two u16s should be represented big endian.
Before this patch OPTEE always treated them natively. With this patch UUIDs are always converted to/from big endian when communicating with normal world.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: https://github.com/OP-TEE/optee_os/issues/858 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ac3be63f | 05-Dec-2016 |
Guanchao Liang <liang.guanchao@linaro.org> |
secure storage: change struct tee_fs_file_info member type
In struct tee_fs_file_info, the member length's origin type is size_t, when NS user is 64 bits, and secure kernel is 32 bits, the type size
secure storage: change struct tee_fs_file_info member type
In struct tee_fs_file_info, the member length's origin type is size_t, when NS user is 64 bits, and secure kernel is 32 bits, the type size_t will have different width, which will cause xtest 20022 case fail. This commit change the member length's type from size_t to uint64_t, which can keep a fixed width.
Signed-off-by: Guanchao Liang <liang.guanchao@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
show more ...
|
| 09a9f39b | 12-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: rename all tee_fs_rpc_new_ functions
Rename all functions with tee_fs_rpc_new_ prefix to use a tee_fs_rpc_ prefix instead now that all the legacy RPC functions are removed.
Reviewed-by: E
core: FS: rename all tee_fs_rpc_new_ functions
Rename all functions with tee_fs_rpc_new_ prefix to use a tee_fs_rpc_ prefix instead now that all the legacy RPC functions are removed.
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 ...
|
| 12936033 | 11-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove unused legacy RPC functions
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 0c51ac2b | 11-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: simplify FOP create
As the FOP create always is called with the overwrite flag it can be simplified. This makes the implementation of create much easier.
Reviewed-by: Etienne Carriere <et
core: FS: simplify FOP create
As the FOP create always is called with the overwrite flag it can be simplified. This makes the implementation of create much easier.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 361fb3e3 | 06-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: REE FS: use a single file per object
Prior to this commit each persistent object was represented by a directory with several files. With this commit each persistent object is represented by a
core: REE FS: use a single file per object
Prior to this commit each persistent object was represented by a directory with several files. With this commit each persistent object is represented by a single file instead to simplify the implementation.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-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 ...
|
| 24e60da0 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove FOP access
Removes all calls to FOP access and the FOP itself.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 822203a8 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: FOP rename checks for existing file
Simplify renaming of file by moving the check for existing files into the rename FOP.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signe
core: FS: FOP rename checks for existing file
Simplify renaming of file by moving the check for existing files into the rename FOP.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c9fc2003 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove rmdir and mkdir
Removes explicit rmdir and mkdir. It's not needed for SQL FS and RPMB FS. REE FS does rmdir and mkdir when needed directly inside tee-supplicant instead.
Reviewed-b
core: FS: remove rmdir and mkdir
Removes explicit rmdir and mkdir. It's not needed for SQL FS and RPMB FS. REE FS does rmdir and mkdir when needed directly inside tee-supplicant instead.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b0311ad8 | 25-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: change to new FOP interface
Changes the FOP interface to use TEE_Result as the primary return code to harmonize better with the rest of the code.
Reviewed-by: Joakim Bech <joakim.bech@lin
core: FS: change to new FOP interface
Changes the FOP interface to use TEE_Result as the primary return code to harmonize better with the rest of the code.
Reviewed-by: Joakim Bech <joakim.bech@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 ...
|
| e4302df3 | 18-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove unused legacy RPC functions
Removes unused legacy wrapper functions for FS RPC operations.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <
core: FS: remove unused legacy RPC functions
Removes unused legacy wrapper functions for FS RPC operations.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7f4173d8 | 18-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: add new RPC functions
Add new RPC functions that returns proper error coded.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@lina
core: FS: add new RPC functions
Add new RPC functions that returns proper error coded.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1955df60 | 07-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 ...
|
| c3b3c4de | 07-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 ...
|
| 9102ce21 | 19-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 ...
|
| b48323a9 | 18-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 ...
|
| 2ef14de1 | 11-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 ...
|
| 9dd29628 | 06-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 ...
|
| a6573dd1 | 27-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 ...
|
| d13278b8 | 23-Jul-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: remove TEE_ASSERT()
TEE_ASSERT() can be confusing regarding assert() as assert() can be disabled through NDEBUG while TEE_ASSERT() can't. Instead one should explicitly implement "if (cond) { p
core: remove TEE_ASSERT()
TEE_ASSERT() can be confusing regarding assert() as assert() can be disabled through NDEBUG while TEE_ASSERT() can't. Instead one should explicitly implement "if (cond) { panic(); }"
This patch removes several inclusions on tee_common_unpg.h as it used to define TEE_ASSERT() that has been removed.
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 ...
|