mprotect.c raw

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