| 2d0b0bcf | 30-Apr-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
arm.h: add CTR_WORD_SIZE
Adds a common define for the word size used by the CTR (cache type) register.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jen
arm.h: add CTR_WORD_SIZE
Adds a common define for the word size used by the CTR (cache type) register.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c9826bf5 | 18-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: clean kernel stack unwinding
Simplify kernel stack unwinding now that user mode unwinding is handled by ldelf.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens
core: clean kernel stack unwinding
Simplify kernel stack unwinding now that user mode unwinding is handled by ldelf.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 153479ac | 18-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: dump ftrace data with ldelf
Uses ldelf to dump ftrace data from a TA.
Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerom
core: dump ftrace data with ldelf
Uses ldelf to dump ftrace data from a TA.
Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 34db7172 | 12-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_system: support memory remap
Adds PTA_SYSTEM_REMAP to support changing virtual address of an already established mapping in a TA.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.or
core: pta_system: support memory remap
Adds PTA_SYSTEM_REMAP to support changing virtual address of an already established mapping in a TA.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3b4abe1f | 12-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add user_ta_remap()
Adds user_ta_remap() to allow changing virtual address of an already established mapping.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens W
core: add user_ta_remap()
Adds user_ta_remap() to allow changing virtual address of an already established mapping.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 531963a5 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: dump user TA memory map and call stack with ldelf
Enters special ldelf dump function to dump user TA memory map.
scripts/symbolize.py patch by Jerome Forissier
Reviewed-by: Jerome Forissier
core: dump user TA memory map and call stack with ldelf
Enters special ldelf dump function to dump user TA memory map.
scripts/symbolize.py patch by Jerome Forissier
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: [symbolize.py] Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 23cf8945 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: abort: only print stack trace for core
With user mode stack traces temporarily disabled to later be handled by ldelf in user mode there's an opportunity for cleaning up stack tracing. Code for
core: abort: only print stack trace for core
With user mode stack traces temporarily disabled to later be handled by ldelf in user mode there's an opportunity for cleaning up stack tracing. Code for user mode stack tracing is removed only leaving what's needed for kernel mode stack tracing.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d1911a85 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: load TAs using ldelf
Uses ldelf to load and relocate TAs instead of parsing and loading the ELFs in TEE Core. TA abort dumps, ASLR and ftrace are temporarily removed or disabled to be re-enabl
core: load TAs using ldelf
Uses ldelf to load and relocate TAs instead of parsing and loading the ELFs in TEE Core. TA abort dumps, ASLR and ftrace are temporarily removed or disabled to be re-enabled in following commits.
Loading dynamically linked TAs are from now on always supported and cannot be disabled via configuration flags. CFG_TA_DYNLINK is also removed as a configuration option.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 64e49789 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add define TEE_MATTR_LDELF
Adds the define TEE_MATTR_LDELF for temporary mappings needed to load the ldelf binary.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens
core: add define TEE_MATTR_LDELF
Adds the define TEE_MATTR_LDELF for temporary mappings needed to load the ldelf binary.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| dd22da8e | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
Move elf definition headers to common location
Moves ELF definition header to a common location for core and ldelf.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens W
Move elf definition headers to common location
Moves ELF definition header to a common location for core and ldelf.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0a563c6f | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_system: add PTA_SYSTEM_SET_PROT
Adds PTA_SYSTEM_SET_PROT to support changing protection of already established memory mappings.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
core: pta_system: add PTA_SYSTEM_SET_PROT
Adds PTA_SYSTEM_SET_PROT to support changing protection of already established memory mappings.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0b414d3f | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_system: ta binary handling
Adds support to open, close and map a TA binary from a user TA.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wik
core: pta_system: ta binary handling
Adds support to open, close and map a TA binary from a user TA.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8e64b181 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove tee_ta_dump_current()
tee_ta_dump_current() is only called from abort_print_current_ta(), move the trivial implementation into abort_print_current_ta() and remove tee_ta_dump_current().
core: remove tee_ta_dump_current()
tee_ta_dump_current() is only called from abort_print_current_ta(), move the trivial implementation into abort_print_current_ta() and remove tee_ta_dump_current().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f23f9918 | 27-Jun-2019 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: make mutex_trylock() work with lockdep
Instrument mutex_trylock() with lockdep_tryacquire() so that it can be used with CFG_LOCKDEP=y.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro
core: make mutex_trylock() work with lockdep
Instrument mutex_trylock() with lockdep_tryacquire() so that it can be used with CFG_LOCKDEP=y.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 02fbb41a | 27-Jun-2019 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: lockdep: support non-blocking acquire
Adds support for non-blocking lock semantics such as mutex_trylock(). A new function is introduced to instrument this operation: lockdep_tryacquire(). It
core: lockdep: support non-blocking acquire
Adds support for non-blocking lock semantics such as mutex_trylock(). A new function is introduced to instrument this operation: lockdep_tryacquire(). It should be called when it is known that ownership of the underlying object has been granted to the caller. It behaves similarly to lockdep_acquire() in that it does record the call stack and records that the lock is owned. But it does not create any dependencies to the locks that are currently owned by the caller. See "Dynamic Lock Dependency Analysis of Concurrent Systems" [1] section 5.3.
Link: [1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.132&rep=rep1&type=pdf Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 55e64140 | 27-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: fix NULL deref in tee_pager_pgt_save_and_release_entries()
Fixes a potential NULL dereference in tee_pager_pgt_save_and_release_entries() in case a struct user_ta_ctx doesn't have an ar
core: pager: fix NULL deref in tee_pager_pgt_save_and_release_entries()
Fixes a potential NULL dereference in tee_pager_pgt_save_and_release_entries() in case a struct user_ta_ctx doesn't have an areas pointer allocated yet.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b5b6225f | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_system: support dynamic memory mapping
Adds PTA_SYSTEM_MAP_ZI and PTA_SYSTEM_UNMAP to dynamically map and unmap user space memory from user space. The memory is automatically freed when th
core: pta_system: support dynamic memory mapping
Adds PTA_SYSTEM_MAP_ZI and PTA_SYSTEM_UNMAP to dynamically map and unmap user space memory from user space. The memory is automatically freed when the context of the TA is freed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cec1b2dd | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_system: set TA_FLAG_CONCURRENT
The system pseudo TA is used instead of adding new syscalls. To ensure concurrent execution and more importantly avoid dead-lock due to interference with the
core: pta_system: set TA_FLAG_CONCURRENT
The system pseudo TA is used instead of adding new syscalls. To ensure concurrent execution and more importantly avoid dead-lock due to interference with the single instance lock and for instance waiting for page tables when adding new mappings.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 50e62ab4 | 11-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix access flags in system_derive_ta_unique_key()
Updates the access flags used to test that the supplied TA buffer is indeed secure.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.or
core: fix access flags in system_derive_ta_unique_key()
Updates the access flags used to test that the supplied TA buffer is indeed secure.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a8441251 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add user_ta_set_prot()
Adds user_ta_set_prot() which allows changing protection bits read, write and execute as long as they don't conflict with page sharing.
Acked-by: Jerome Forissier <jero
core: add user_ta_set_prot()
Adds user_ta_set_prot() which allows changing protection bits read, write and execute as long as they don't conflict with page sharing.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c3ebbd55 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add user_ta_map() and user_ta_unmap()
Adds user_ta_map() and user_ta_unmap() to create/remove new maps from user space.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by:
core: add user_ta_map() and user_ta_unmap()
Adds user_ta_map() and user_ta_unmap() to create/remove new maps from user space.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2c6f8f19 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add TEE_MATTR_SHAREABLE
Adds TEE_MATTR_SHAREABLE to tag mappings that may be shared by other TAs.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <je
core: add TEE_MATTR_SHAREABLE
Adds TEE_MATTR_SHAREABLE to tag mappings that may be shared by other TAs.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| af591103 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: user_ta: keep load segs in linked list
Keeps the load segments of an ELF in a singly linked list instead of an array.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by
core: user_ta: keep load segs in linked list
Keeps the load segments of an ELF in a singly linked list instead of an array.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e990d7a6 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add vm_map_pad()
Adds vm_map_pad() which allows specifying how much free memory should be available before and after the map.
This allows mapping the first part of for instance an ELF file wh
core: add vm_map_pad()
Adds vm_map_pad() which allows specifying how much free memory should be available before and after the map.
This allows mapping the first part of for instance an ELF file while knowing that the next part which has to be of a certain offset from the first part also will succeed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2e5c5616 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: vm_map changes, only on active context
For easier cache maintenance vm_set_prot() and vm_unmap() requires the supplied context to be active.
Calls to tee_mmu_set_ctx() is added in vm_set_prot
core: vm_map changes, only on active context
For easier cache maintenance vm_set_prot() and vm_unmap() requires the supplied context to be active.
Calls to tee_mmu_set_ctx() is added in vm_set_prot() and vm_unmap() as needed for the changes in mappings to take effect.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|