sys_process.c (3098) | sys_process.c (5603) |
---|---|
1/* 2 * Copyright (c) 1994, Sean Eric Fagan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * | 1/* 2 * Copyright (c) 1994, Sean Eric Fagan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * |
31 * $Id: sys_process.c,v 1.6 1994/08/18 22:35:05 wollman Exp $ | 31 * $Id: sys_process.c,v 1.7 1994/09/25 19:33:49 phk Exp $ |
32 */ 33 34#include <sys/param.h> 35#include <sys/systm.h> 36#include <sys/proc.h> 37#include <sys/vnode.h> 38#include <sys/ptrace.h> 39#include <sys/errno.h> --- 281 unchanged lines hidden (view full) --- 321 if ((u_int)uap->addr > (UPAGES * NBPG - sizeof(int))) { 322 return EFAULT; 323 } 324 p->p_addr->u_kproc.kp_proc = *p; 325 fill_eproc (p, &p->p_addr->u_kproc.kp_eproc); 326 *retval = *(int*)((u_int)p->p_addr + (u_int)uap->addr); 327 return 0; 328 case PT_WRITE_U: | 32 */ 33 34#include <sys/param.h> 35#include <sys/systm.h> 36#include <sys/proc.h> 37#include <sys/vnode.h> 38#include <sys/ptrace.h> 39#include <sys/errno.h> --- 281 unchanged lines hidden (view full) --- 321 if ((u_int)uap->addr > (UPAGES * NBPG - sizeof(int))) { 322 return EFAULT; 323 } 324 p->p_addr->u_kproc.kp_proc = *p; 325 fill_eproc (p, &p->p_addr->u_kproc.kp_eproc); 326 *retval = *(int*)((u_int)p->p_addr + (u_int)uap->addr); 327 return 0; 328 case PT_WRITE_U: |
329 if ((u_int)uap->addr > (UPAGES * NBPG - sizeof(int))) { 330 return EFAULT; 331 } | |
332 p->p_addr->u_kproc.kp_proc = *p; 333 fill_eproc (p, &p->p_addr->u_kproc.kp_eproc); | 329 p->p_addr->u_kproc.kp_proc = *p; 330 fill_eproc (p, &p->p_addr->u_kproc.kp_eproc); |
334 *(int*)((u_int)p->p_addr + (u_int)uap->addr) = uap->data; 335 return 0; | 331 return ptrace_write_u(p, (vm_offset_t)uap->addr, uap->data); |
336 case PT_KILL: 337 p->p_xstat = SIGKILL; 338 setrunnable(p); 339 return 0; 340#ifdef PT_GETREGS 341 case PT_GETREGS: 342 /* 343 * copyout the registers into addr. There's no --- 23 unchanged lines hidden --- | 332 case PT_KILL: 333 p->p_xstat = SIGKILL; 334 setrunnable(p); 335 return 0; 336#ifdef PT_GETREGS 337 case PT_GETREGS: 338 /* 339 * copyout the registers into addr. There's no --- 23 unchanged lines hidden --- |