summaryrefslogtreecommitdiff
path: root/src/mman/munmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mman/munmap.c')
-rw-r--r--src/mman/munmap.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mman/munmap.c b/src/mman/munmap.c
index ab7da9e2..91aefd40 100644
--- a/src/mman/munmap.c
+++ b/src/mman/munmap.c
@@ -3,9 +3,18 @@
#include "syscall.h"
#include "libc.h"
+static void dummy1(int x) { }
+static void dummy0(void) { }
+weak_alias(dummy1, __vm_lock);
+weak_alias(dummy0, __vm_unlock);
+
int __munmap(void *start, size_t len)
{
- return syscall(SYS_munmap, start, len);
+ int ret;
+ __vm_lock(-1);
+ ret = syscall(SYS_munmap, start, len);
+ __vm_unlock();
+ return ret;
}
weak_alias(__munmap, munmap);