From 7a00de28a14bc27ce8f5169681fb622f21cf91ec Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 21 Mar 2026 10:40:15 +0000 Subject: [PATCH] lib: c: io: munmap now unmaps and unreserves a region of memory --- lib/libc/io/unistd/munmap.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/libc/io/unistd/munmap.c b/lib/libc/io/unistd/munmap.c index 27837d2..ec7d213 100644 --- a/lib/libc/io/unistd/munmap.c +++ b/lib/libc/io/unistd/munmap.c @@ -25,7 +25,17 @@ int munmap(void *addr, size_t length) status = address_space_unmap(address_space, (virt_addr_t)addr, length); + if (status != KERN_OK) { + kern_handle_close(address_space); + return __set_errno(__errno_from_kern_status(status)); + } + + status = address_space_release( + address_space, + (virt_addr_t)addr, + length); kern_handle_close(address_space); + if (status != KERN_OK) { return __set_errno(__errno_from_kern_status(status)); }