예제 #1
0
파일: irix-os.c 프로젝트: primitivorm/cmucl
void
sanctify_for_execution(os_vm_address_t addr, os_vm_size_t len)
{
    char *end_addr = addr + len;

    addr = os_trunc_to_page(addr);
    len = end_addr - addr;

    if (mprotect(addr, len, OS_VM_PROT_ALL) == -1)
	perror("mprotect");
}
예제 #2
0
파일: osf1-os.c 프로젝트: Distrotech/cmucl
boolean valid_addr(os_vm_address_t addr)
{
    int ret;
    os_vm_address_t newaddr;

    newaddr = os_trunc_to_page(addr);
    if ((ret = mvalid(newaddr, newaddr - addr + 4, OS_VM_PROT_ALL)) == 0)
	return TRUE;
    else if (errno == EINVAL)
	perror("mvalid");
    return FALSE;
}