X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmman%2Fmprotect.c;h=535787b9ec527bb12acbb80a53aadc4ab760c7b3;hb=f5f7673d71f843b423e60bbdd7de49fd1bbcc8c1;hp=1db2aea2f127afeab663822b839981a36e9220f1;hpb=aa398f56fa398f2202b04e82c67f822f3233786f;p=musl diff --git a/src/mman/mprotect.c b/src/mman/mprotect.c index 1db2aea2..535787b9 100644 --- a/src/mman/mprotect.c +++ b/src/mman/mprotect.c @@ -1,7 +1,13 @@ #include +#include "libc.h" #include "syscall.h" -int mprotect(void *addr, size_t len, int prot) +int __mprotect(void *addr, size_t len, int prot) { - return syscall(SYS_mprotect, addr, len, prot); + size_t start, end; + start = (size_t)addr & -PAGE_SIZE; + end = (size_t)((char *)addr + len + PAGE_SIZE-1) & -PAGE_SIZE; + return syscall(SYS_mprotect, start, end-start, prot); } + +weak_alias(__mprotect, mprotect);