diff --git a/arch/arm64/src/common/arm64_addrenv_pgmap.c b/arch/arm64/src/common/arm64_addrenv_pgmap.c index 5fa22e62ac..4f39be0b4d 100644 --- a/arch/arm64/src/common/arm64_addrenv_pgmap.c +++ b/arch/arm64/src/common/arm64_addrenv_pgmap.c @@ -271,6 +271,10 @@ int up_addrenv_kmap_pages(void **pages, unsigned int npages, uintptr_t vaddr, mask &= ~PTE_BLOCK_DESC_NG; + /* Also, revoke user execute access */ + + mask |= PTE_BLOCK_DESC_UXN; + /* Let arm64_map_pages do the work */ return arm64_map_pages(addrenv, (uintptr_t *)pages, npages, vaddr, mask);