diff --git a/arch/arm64/src/common/arm64_addrenv_pgmap.c b/arch/arm64/src/common/arm64_addrenv_pgmap.c index e53528b97fdbe..ebfb783db74c9 100644 --- a/arch/arm64/src/common/arm64_addrenv_pgmap.c +++ b/arch/arm64/src/common/arm64_addrenv_pgmap.c @@ -279,6 +279,10 @@ int up_addrenv_kmap_pages(void **pages, unsigned int npages, uintptr_t vaddr, mask |= PTE_BLOCK_DESC_UXN; + /* Flags for normal memory region */ + + mask |= MMU_MT_NORMAL_FLAGS; + /* Let arm64_map_pages do the work */ return arm64_map_pages(addrenv, (uintptr_t *)pages, npages, vaddr, mask); diff --git a/mm/kmap/kmm_map.c b/mm/kmap/kmm_map.c index 372f77fbdc7b8..7e80c06c93575 100644 --- a/mm/kmap/kmm_map.c +++ b/mm/kmap/kmm_map.c @@ -159,7 +159,7 @@ static FAR void *map_pages(FAR void **pages, size_t npages, int prot) errout_with_pgmap: up_addrenv_kunmap_pages((uintptr_t)vaddr, npages); errout_with_vaddr: - gran_free(&g_kmm_map_vpages, vaddr, size); + gran_free(g_kmm_map_vpages, vaddr, size); return NULL; } @@ -385,7 +385,7 @@ void kmm_unmap(FAR void *kaddr) /* Release the virtual memory area for use */ - gran_free(&g_kmm_map_vpages, entry->vaddr, entry->length); + gran_free(g_kmm_map_vpages, entry->vaddr, entry->length); /* Remove the mapping from the kernel mapping list */