Searched hist:b212ad1db74d5e4a50b6b8fd548825fc47dc054f (Results 1 – 1 of 1) sorted by relevance
| /optee_os/core/mm/ |
| H A D | core_mmu.c | b212ad1db74d5e4a50b6b8fd548825fc47dc054f Thu Jun 30 21:01:27 UTC 2022 Jens Wiklander <jens.wiklander@linaro.org> core: pager: fix get_linear_map_end()
With paging enabled there is an unpaged portion of OP-TEE which ends at the address returned by get_linear_map_end(). Without ASLR enabled this is both a virtual and physical address. However, with ASLR enabled it's important to keep these addresses apart so add get_linear_map_end_va() and get_linear_map_end_pa() and use the right function in phys_to_virt_tee_ram() and is_unpaged().
This fixes occasional errors like: E/TC:0 0 Panic 'can't find mmu tables' at core/arch/arm/mm/tee_pager.c:549 <tee_pager_early_init> E/TC:0 0 TEE load address @ 0x50b9000 E/TC:0 0 Call stack: E/TC:0 0 0x050bf144
with paging and ASLR enabled.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
|