- if (chgprot((caddr_t)ipc.ip_addr, RW) &&
- chgprot((caddr_t)ipc.ip_addr+(sizeof(int)-1), RW))
+ vm_offset_t sa, ea;
+ int rv;
+
+ sa = trunc_page((vm_offset_t)ipc.ip_addr);
+ ea = round_page((vm_offset_t)ipc.ip_addr+sizeof(int)-1);
+ rv = vm_map_protect(&p->p_vmspace->vm_map, sa, ea,
+ VM_PROT_DEFAULT, FALSE);
+ if (rv == KERN_SUCCESS) {