OLD | NEW |
1 #include <sys/mman.h> | 1 #include <sys/mman.h> |
2 #include "libc.h" | 2 #include "libc.h" |
3 #include "syscall.h" | 3 #include "syscall.h" |
4 | 4 |
5 int __mprotect(void *addr, size_t len, int prot) | 5 int __mprotect(void* addr, size_t len, int prot) { |
6 { | 6 size_t start, end; |
7 » size_t start, end; | 7 start = (size_t)addr & -PAGE_SIZE; |
8 » start = (size_t)addr & -PAGE_SIZE; | 8 end = (size_t)((char*)addr + len + PAGE_SIZE - 1) & -PAGE_SIZE; |
9 » end = (size_t)((char *)addr + len + PAGE_SIZE-1) & -PAGE_SIZE; | 9 return syscall(SYS_mprotect, start, end - start, prot); |
10 » return syscall(SYS_mprotect, start, end-start, prot); | |
11 } | 10 } |
12 | 11 |
13 weak_alias(__mprotect, mprotect); | 12 weak_alias(__mprotect, mprotect); |
OLD | NEW |