From 19fe41cb1b577f7fa84a258ece5554b2a1655f5f Mon Sep 17 00:00:00 2001 From: Jukka Laitinen Date: Wed, 15 Jan 2025 08:30:03 +0200 Subject: [PATCH] mm/kmap/kmm_map.c: Fix argument to gran_free Fix a memory corruption & deadlocks while calling gran_free. The function expects a GRAN_HANDLE as a paramter, not a pointer to it. Signed-off-by: Jukka Laitinen --- mm/kmap/kmm_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/kmap/kmm_map.c b/mm/kmap/kmm_map.c index 372f77fbdc..7e80c06c93 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 */