From a39aa73e21bbc93ff025b78fc2b48f589f759d76 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 10 Nov 2025 03:53:34 +0200 Subject: [PATCH] Kernel: Allow munmap on non-page aligned address --- kernel/kernel/Process.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel/kernel/Process.cpp b/kernel/kernel/Process.cpp index 19c762b1..940eb221 100644 --- a/kernel/kernel/Process.cpp +++ b/kernel/kernel/Process.cpp @@ -2326,9 +2326,12 @@ namespace Kernel if (len == 0) return BAN::Error::from_errno(EINVAL); - const vaddr_t vaddr = reinterpret_cast(addr); - if (vaddr % PAGE_SIZE != 0) - return BAN::Error::from_errno(EINVAL); + vaddr_t vaddr = reinterpret_cast(addr); + if (auto rem = vaddr % PAGE_SIZE) + { + vaddr -= rem; + len += PAGE_SIZE - rem; + } if (auto rem = len % PAGE_SIZE) len += PAGE_SIZE - rem;