| dd3247be | 15-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutee extension: check-access-right for secure/nonsec permissions
Define TEE_MEMORY_ACCESS_NONSECURE and TEE_MEMORY_ACCESS_SECURE are extensions of the flag bitfield argument of TEE_CheckMemoryAcc
libutee extension: check-access-right for secure/nonsec permissions
Define TEE_MEMORY_ACCESS_NONSECURE and TEE_MEMORY_ACCESS_SECURE are extensions of the flag bitfield argument of TEE_CheckMemoryAccessRights(). Once one of these is set, core checks the secure mapping attribute.
Note: if both are set, it's obviously an caller error. Implementation will return a TEE_ERROR_ACCESS_DENIED.
Include tee_api_defines_extensions.h from tee_internal_api_extensions.h so that TAs only have to include tee_internal_api_extensions.h to access extensions resources.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 68540524 | 02-Nov-2016 |
Igor Opaniuk <igor.opaniuk@linaro.org> |
core/libutee: perform cleanup for magic "4"
Perform cleanup for magic "4" constant that represents amount of tee params
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Etienne Ca
core/libutee: perform cleanup for magic "4"
Perform cleanup for magic "4" constant that represents amount of tee params
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 4d9c8fe8 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: remove unused TEE_ERROR_FILE_NOT_FOUND
Removes unused proprietary TEE_Result code TEE_ERROR_FILE_NOT_FOUND.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens
libutee: remove unused TEE_ERROR_FILE_NOT_FOUND
Removes unused proprietary TEE_Result code TEE_ERROR_FILE_NOT_FOUND.
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 ...
|
| 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 ...
|
| 8c9d9445 | 23-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 ...
|
| 8ddf5a4e | 23-Jul-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
assert/panic: fix misuse of assert/panic
Currently implementation of macro assert() does not expand to a no-op when NDEBUG is defined. This will be done in a later change. Before that, fix misuses o
assert/panic: fix misuse of assert/panic
Currently implementation of macro assert() does not expand to a no-op when NDEBUG is defined. This will be done in a later change. Before that, fix misuses of assert() and TEE_ASSERT(): - Correct misplaced assert() that should panic() whatever NDEBUG. - Correct misplaced TEE_ASSERT() that should simply assert().
Also cleanup many inclusions of "assert.h" and few calls of assert().
Signed-off-by: Jens Wiklander <jen.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (QEMU)
show more ...
|
| d10c4c4b | 25-Jul-2016 |
Pengguang Zhu <zpghao@163.com> |
libutee: remove storageID check, let TEE kernel validate instead
Signed-off-by: Pengguang Zhu <zpghao@163.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier
libutee: remove storageID check, let TEE kernel validate instead
Signed-off-by: Pengguang Zhu <zpghao@163.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: David Brown <david.brown@linaro.org> Tested-by: David Brown <david.brown@linaro.org>
show more ...
|
| 53b28344 | 13-Jun-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
tui: Add __maybe_unused
Parameter 'msg' is not used when CFG_TEE_TA_LOG_LEVEL=0, so add __maybe_unused.
Fixes https://github.com/OP-TEE/optee_os/issues/848.
Signed-off-by: Jerome Forissier <jerome
tui: Add __maybe_unused
Parameter 'msg' is not used when CFG_TEE_TA_LOG_LEVEL=0, so add __maybe_unused.
Fixes https://github.com/OP-TEE/optee_os/issues/848.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU, HiKey 32/64) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a43532cf | 02-Jun-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: move tui related files to tui directory
Moves all trusted UI related file to a separate tui subdirectory.
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Reviewed-by: Joakim B
libutee: move tui related files to tui directory
Moves all trusted UI related file to a separate tui subdirectory.
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) 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 ...
|
| f789aa08 | 14-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: add text rendering routines
* Adds routines to render text from raw bitmap fonts * Adds script to render raw bitmap fonts from True Type Fonts * Adds rendered raw bitmaps of the Amble TTF
libutee: add text rendering routines
* Adds routines to render text from raw bitmap fonts * Adds script to render raw bitmap fonts from True Type Fonts * Adds rendered raw bitmaps of the Amble TTF
Needed by Trusted UI.
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 ...
|
| dd539a4d | 28-Mar-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: add amble font
Imports Amble font from https://www.fontsquirrel.com/fonts/download/amble
To be used to render text in Trusted UI.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewe
libutee: add amble font
Imports Amble font from https://www.fontsquirrel.com/fonts/download/amble
To be used to render text in Trusted UI.
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 ...
|
| a123a602 | 14-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: add raw image routines
Adds routines to manipulate raw bitmap images needed by Trusted UI.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier
libutee: add raw image routines
Adds routines to manipulate raw bitmap images needed by Trusted UI.
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 ...
|
| 91cf43ac | 14-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: add utf-8 decoder
Adds a simple UTF-8 decoder, advanced enough to support Trusted UI.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@lina
libutee: add utf-8 decoder
Adds a simple UTF-8 decoder, advanced enough to support Trusted UI.
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 ...
|
| 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 ...
|
| 1a490fe7 | 03-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: TEE_ObjectInfo Core API 1.1.1 compatible
Makes TEE_ObjectInfo GP Core API 1.1.1 compatible.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.foriss
libutee: TEE_ObjectInfo Core API 1.1.1 compatible
Makes TEE_ObjectInfo GP Core API 1.1.1 compatible.
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) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2342799f | 25-Apr-2016 |
Pascal Brand <pascal.brand@st.com> |
TEE_GetNextPersistentObject: objectInfo is optional
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <p
TEE_GetNextPersistentObject: objectInfo is optional
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 ...
|
| 1c96fa7f | 20-Apr-2016 |
Pascal Brand <pascal.brand@st.com> |
TEE_CreatePersistentObject: object is optional
As specified in GlobalPlatform Internal API v1.1 on TEE_CreatePersistentObject(): [...] and optionally returns either a handle on the created objec
TEE_CreatePersistentObject: object is optional
As specified in GlobalPlatform Internal API v1.1 on TEE_CreatePersistentObject(): [...] and optionally returns either a handle on the created object, or TEE_HANDLE_NULL upon failure
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| c113066f | 27-Mar-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutils: move abort declaration to stdlib.h
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wikla
libutils: move abort declaration to stdlib.h
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 09d93d24 | 08-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: optimize byte swap macros
Optimizes byte swap macros to use compiler builtin if possible. Also adds a 64-bit byte swap macro.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-b
libutee: optimize byte swap macros
Optimizes byte swap macros to use compiler builtin if possible. Also adds a 64-bit byte swap macro.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> 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 ...
|
| 254e1d58 | 18-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties: fix required buffer len for USER_TA_PROP_TYPE_BINARY_BLOCK
In case of USER_TA_PROP_TYPE_BINARY_BLOCK that is get by a string, a short buffer can be obtained from getting the binary block
Properties: fix required buffer len for USER_TA_PROP_TYPE_BINARY_BLOCK
In case of USER_TA_PROP_TYPE_BINARY_BLOCK that is get by a string, a short buffer can be obtained from getting the binary block itself, which requires a given th, and then from the base64 encoding of the buffer, which requires a longer buffer.
This fix check both required length, to return the second one in case of a short buffer
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 0dd3f3a4 | 15-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties: coding style
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> |
| ff857a3a | 15-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties: fix in case of TEE_ERROR_SHORT_BUFFER
* TEE_ERROR_SHORT_BUFFER errors are better handled in case of of properties inside the Core. * String and Binary Block were contraints to have a l
Properties: fix in case of TEE_ERROR_SHORT_BUFFER
* TEE_ERROR_SHORT_BUFFER errors are better handled in case of of properties inside the Core. * String and Binary Block were contraints to have a length lower than 80 bytes due to the use of an internal structure. This is removed
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 64a5011e | 10-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties in kernel side
In order to ease the inclusion of vendor-specific properties, properties are now mostly described in the kernel. This allows a lower synchronization between user-side and k
Properties in kernel side
In order to ease the inclusion of vendor-specific properties, properties are now mostly described in the kernel. This allows a lower synchronization between user-side and kernel-side.
The only properties now handled at user-side are TA properties (apart from "gpd.ta.appID") as well as the TEE property "gpd.tee.arith.maxBigIntSize"
Early discussion can be found at https://github.com/OP-TEE/optee_os/pull/460 and https://github.com/OP-TEE/optee_os/pull/482
Suggested-by: Paul Swan <paswan@microsoft.com> 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 ...
|