| 40a4fd66 | 03-Jun-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix tee object attribute management
Prior to the patch the attribute management of tee objects occasionally assumed that the attribute data didn't contain any addresses. This assumption is inc
core: fix tee object attribute management
Prior to the patch the attribute management of tee objects occasionally assumed that the attribute data didn't contain any addresses. This assumption is incorrect for asymmetric key objects. This patch fixes that by introducing an operation struct for each basic attribute type.
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 592631d9 | 30-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix undef behavior in tee_time_ta_set_offs()
Fixes undefined behavior in tee_time_ta_set_offs() when tee_time_offs is initially NULL.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Tested-
core: fix undef behavior in tee_time_ta_set_offs()
Fixes undefined behavior in tee_time_ta_set_offs() when tee_time_offs is initially NULL.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6bfd8c14 | 18-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix TEE_ALG_RSASSA_PKCS1_* signing
Signing with the algorithms TEE_ALG_RSASSA_PKCS1_* allows an optional parameter, salt length. If the salt lengths isn't supplied the default value should be
core: fix TEE_ALG_RSASSA_PKCS1_* signing
Signing with the algorithms TEE_ALG_RSASSA_PKCS1_* allows an optional parameter, salt length. If the salt lengths isn't supplied the default value should be the length of the digest.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Suggested-by: Cedric Chaumont <cedric.chaumont@st.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e450de74 | 17-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix attribute size check of transient object
Fixes bad check of attribute size when populating a transient object.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Foriss
core: fix attribute size check of transient object
Fixes bad check of attribute size when populating a transient object.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6732c943 | 25-May-2016 |
David Brown <david.brown@linaro.org> |
Change some fs messages to debug
Trying to open a file that doesn't exist, or trying to write to a file that does exist are part of normal use of a filesystem. Demote these two messages to debug in
Change some fs messages to debug
Trying to open a file that doesn't exist, or trying to write to a file that does exist are part of normal use of a filesystem. Demote these two messages to debug instead of error to avoid flooding the error log with messages that come from ordinary use.
Signed-off-by: David Brown <david.brown@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 50ffad36 | 18-May-2016 |
Pascal Brand <pascal.brand@st.com> |
Persistent objects: save handle information
When creating a Persistent Object (TEE_CreatePersistentObject) using an object handle, the information and attributes related to the handle are saved.
Th
Persistent objects: save handle information
When creating a Persistent Object (TEE_CreatePersistentObject) using an object handle, the information and attributes related to the handle are saved.
The information are restored when opening the object (TEE_OpenPersistentObject)
Fixes #785
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 307c5aae | 08-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix tee_svc_copy_param()
tee_svc_copy_param() was doing a phys_to_virt() as if the physical memory was in TEE ram. This patch fixes that by doing the lookup in TA ram instead.
Reviewed-by:
core: bugfix tee_svc_copy_param()
tee_svc_copy_param() was doing a phys_to_virt() as if the physical memory was in TEE ram. This patch fixes that by doing the lookup in TA ram instead.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 37070d93 | 02-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove kmap interface
Removes kmap interface as the secure DDR memory is mapped already.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@li
core: remove kmap interface
Removes kmap interface as the secure DDR memory is mapped already.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 044b1b79 | 02-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix pcsc driver
Fixes pscs driver to translate base address of register to virtual address before use to be able to handle non-linear mapping of memory.
Reviewed-by: Jerome Forissier <jero
core: bugfix pcsc driver
Fixes pscs driver to translate base address of register to virtual address before use to be able to handle non-linear mapping of memory.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b44708c1 | 18-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: secure storage: dual filesystems support
Adds support for multiple filesystems by keeping a pointer to tee_file_operations in the tee_pobj and tee_storage_enum structures.
Two identifiers are
core: secure storage: dual filesystems support
Adds support for multiple filesystems by keeping a pointer to tee_file_operations in the tee_pobj and tee_storage_enum structures.
Two identifiers are added to the API to be used as the storage_id parameter, so that TAs may dynamically choose the filesystem: - TEE_STORAGE_PRIVATE_REE (requires CFG_REE_FS=y) - TEE_STORAGE_PRIVATE_RPMB (requires CFG_RPMB_FS=y) The value TEE_STORAGE_PRIVATE will select the REE FS if available, otherwise RPMB. At least one FS has to be enabled at build time. Only the REE filesystem is enabled by default.
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 ...
|
| 63dc8d4a | 14-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename session_is_cancelled()
Renames session_is_cancelled() to tee_ta_session_is_cancelled() and make it available in tee_ta_manager.h to allow other parts of OP-TEE OS to check for cancellat
core: rename session_is_cancelled()
Renames session_is_cancelled() to tee_ta_session_is_cancelled() and make it available in tee_ta_manager.h to allow other parts of OP-TEE OS to check for cancellation of a session.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 51493045 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove typedef tee_fs_dir, use 'struct tee_fs_dir'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.b
Remove typedef tee_fs_dir, use 'struct tee_fs_dir'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 233da534 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Clean tee_ree_fs.c
Make most functions static. Use a consistent naming scheme (ree_fs_*).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linar
Clean tee_ree_fs.c
Make most functions static. Use a consistent naming scheme (ree_fs_*).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0c96a71d | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Merge core/tee/tee_rpmb_fs_common.c into core/tee/tee_rpmb_fs.c
Make most functions static. Use a consistent naming scheme (rpmb_fs_*). Delete core/include/tee/tee_rpmb_fs.h.
Signed-off-by: Jerome
Merge core/tee/tee_rpmb_fs_common.c into core/tee/tee_rpmb_fs.c
Make most functions static. Use a consistent naming scheme (rpmb_fs_*). Delete core/include/tee/tee_rpmb_fs.h.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a025a92a | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/arch/arm/tee/tee_rpmb.c and core/include/tee/tee_rpmb.h
Move code into tee_rpmb_fs_common.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pas
Delete core/arch/arm/tee/tee_rpmb.c and core/include/tee/tee_rpmb.h
Move code into tee_rpmb_fs_common.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7c3ebaa8 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Rename core/tee/tee_fs_common.c -> core/tee/tee_ree_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pa
Rename core/tee/tee_fs_common.c -> core/tee/tee_ree_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ad2988a3 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/tee/tee_fs_private.h
Move function prototypes into tee_fs_common.c, tee_rpmb_fs_common.c and tee_rpmb_fs.c. Next step will be to make them static, remove the useless wrappers and choose
Delete core/tee/tee_fs_private.h
Move function prototypes into tee_fs_common.c, tee_rpmb_fs_common.c and tee_rpmb_fs.c. Next step will be to make them static, remove the useless wrappers and choose more consistent names.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1ff6e872 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove structure definitions from tee_fs_private.h
tee_fs_private can to be removed, because it contains: - Private structure definitions, that belong to each FS implemention and should therefore be
Remove structure definitions from tee_fs_private.h
tee_fs_private can to be removed, because it contains: - Private structure definitions, that belong to each FS implemention and should therefore be moved there, - Function prototypes that are used only privately and could very well be made static.
This commit addresses the first point (moving structure definitions).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c3e8a2d9 | 22-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/tee/tee_fs.c
tee_fs.c contains trivial wrappers, that will eventually go. Move them temporarily into tee_rpmb_fs.c and tee_fs_common.c (which will later be renamed tee_ree_fs.c).
Signed
Delete core/tee/tee_fs.c
tee_fs.c contains trivial wrappers, that will eventually go. Move them temporarily into tee_rpmb_fs.c and tee_fs_common.c (which will later be renamed tee_ree_fs.c).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 41f9cfc2 | 20-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/arch/arm/tee/arch_tee_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.
Delete core/arch/arm/tee/arch_tee_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1779b630 | 20-Apr-2016 |
Pascal Brand <pascal.brand@st.com> |
TEE_CreatePersistentObject: fix TEE_DATA_FLAG_OVERWRITE
As specified by the GlobalPlatform Internal API v1.1 of TEE_CreatePersistentObject(): TEE_DATA_FLAG_OVERWRITE: If this flag is present and
TEE_CreatePersistentObject: fix TEE_DATA_FLAG_OVERWRITE
As specified by the GlobalPlatform Internal API v1.1 of TEE_CreatePersistentObject(): TEE_DATA_FLAG_OVERWRITE: If this flag is present and the object exists, then the object is deleted and re-created as an atomic operation: that is the TA sees either the old object or the new one.
Note that in this patch, the operation "delete and re-create" is not an atomic operation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 36bf7ea8 | 01-Mar-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix static TA buffer from user TA
Before this patch the checks of the parameters buffers for a TA where required to be physical pointers. When a static TA is invoked from a user TA the virt
core: bugfix static TA buffer from user TA
Before this patch the checks of the parameters buffers for a TA where required to be physical pointers. When a static TA is invoked from a user TA the virtual addresses of the buffers aren't translated to physical addresses as they will be translated back to the same virtual address again. With this patch the parameters buffers are tagged as containing virtual addresses allowing the checks to take that into account.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7d82e180 | 29-Feb-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix syscall_invoke_ta_command()
Before this patch didn't syscall_invoke_ta_command() update out parameters if the return code from tee_ta_invoke_command() wasn't TEE_SUCCESS. With this patc
core: bugfix syscall_invoke_ta_command()
Before this patch didn't syscall_invoke_ta_command() update out parameters if the return code from tee_ta_invoke_command() wasn't TEE_SUCCESS. With this patch are out parameters always updated if tee_ta_invoke_command() has been called.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6fbac37e | 05-Nov-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
Minimal OP-TEE without user TAs
Hide all user TA related code under CFG_WITH_USER_TA. When compiled with: CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_ENC_FS=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=n
Sk
Minimal OP-TEE without user TAs
Hide all user TA related code under CFG_WITH_USER_TA. When compiled with: CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_ENC_FS=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=n
Skips building in static TA tests for features not enabled.
The size of OP-TEE is reduced to one third of its original size.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU xtest 1001) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c7ca8db1 | 09-Mar-2016 |
Pascal Brand <pascal.brand@st.com> |
Remove unused syscalls
A number of syscalls which are now unused have been removed: - TEE_SCN_DUMMY - TEE_SCN_DUMMY_7ARGS - TEE_SCN_GET_PROPERTY_OBSOLETE
This breaks binary compatibility
Reviewed-
Remove unused syscalls
A number of syscalls which are now unused have been removed: - TEE_SCN_DUMMY - TEE_SCN_DUMMY_7ARGS - TEE_SCN_GET_PROPERTY_OBSOLETE
This breaks binary compatibility
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>
show more ...
|