| 3dd0e94e | 18-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutils: add trace_vprintf()
Adds the trace_vprintf() helper function.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 8f8d7cde | 17-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta: export CFG_TA_MCOUNT in dev kit config
Exports CFG_TA_MCOUNT in TA dev kit configuration.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wikland
ta: export CFG_TA_MCOUNT in dev kit config
Exports CFG_TA_MCOUNT in TA dev kit configuration.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9f392760 | 18-Jun-2019 |
Jerome Forissier <jerome.forissier@linaro.org> |
ldelf: use DT_HASH to lookup symbols faster
Use the ELF hash table to lookup symbols rather than iterating over the whole symbol table.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
ldelf: use DT_HASH to lookup symbols faster
Use the ELF hash table to lookup symbols rather than iterating over the whole symbol table.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6720dd49 | 13-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
ldelf: support TA ASLR
Adds support in ldelf to load TAs using address space randomization if CFG_TA_ASLR=y. Works as before with the kernel mode ELF loader with two exceptions: - It falls back to d
ldelf: support TA ASLR
Adds support in ldelf to load TAs using address space randomization if CFG_TA_ASLR=y. Works as before with the kernel mode ELF loader with two exceptions: - It falls back to disable ASLR for a particular ELF if it fails to map using ASLR. - Each ELF is loaded with a randomized number of free pages in front. These free pages can be reused when loading other ELF permitting some ELF to become reordered in memory.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 88796f89 | 12-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
ldelf: remap first page of libraries
Remaps first page of libraries to a suitable location once the amount of required virtual memory is known.
Reviewed-by: Jerome Forissier <jerome.forissier@linar
ldelf: remap first page of libraries
Remaps first page of libraries to a suitable location once the amount of required virtual memory is known.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> 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 ...
|
| 0242833a | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
ldelf: support dumping TA call stack
Adds support in ldelf to dump the call stack of the TA.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@l
ldelf: support dumping TA call stack
Adds support in ldelf to dump the call stack of the TA.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 65137432 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
ldelf: support dumping memory map
Adds support in ldelf to dump memory maps.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 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 ...
|
| b8c97753 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: embed ldelf into tee core
Embeds the ldelf binary into TEE Core using the new script scripts/gen_ldelf_hex.py.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens
core: embed ldelf into tee core
Embeds the ldelf binary into TEE Core using the new script scripts/gen_ldelf_hex.py.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7509ff7c | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
Add user mode ELF loader
Adds ldelf which loads user mode TAs while in user mode. The TA ELF file is loaded and relocated by ldelf before the TA can be executed.
Reviewed-by: Jerome Forissier <jero
Add user mode ELF loader
Adds ldelf which loads user mode TAs while in user mode. The TA ELF file is loaded and relocated by ldelf before the TA can be executed.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| fd652ade | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: support compiling for ldelf
Adds support for compiling for ldelf by excluding files not needed in or conflicting with the ldelf environment.
Reviewed-by: Jerome Forissier <jerome.forissier
libutee: support compiling for ldelf
Adds support for compiling for ldelf by excluding files not needed in or conflicting with the ldelf environment.
Reviewed-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 ...
|
| b2cd936a | 28-Jun-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix file_get_by_tag()
Fixes a race in file_get_by_tag() where a file is just about to be freed but hasn't been removed from the linked list yet.
Fixes: bae0f170e321 ("core: file: refactor int
core: fix file_get_by_tag()
Fixes a race in file_get_by_tag() where a file is just about to be freed but hasn't been removed from the linked list yet.
Fixes: bae0f170e321 ("core: file: refactor interface to be thread safe") Acked-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 ...
|
| ef305e54 | 23-May-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutee: allocate temp secmem for invoke
Allocates temporary secure memory for buffers in TA private memory passed to invoke_command/open_session. This offloads the logic in TEE core which until now
libutee: allocate temp secmem for invoke
Allocates temporary secure memory for buffers in TA private memory passed to invoke_command/open_session. This offloads the logic in TEE core which until now has allocated temporary secure memory as needed during TA to TA calls.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|