From ae80f433ec7e00eb4130f674bf35f78cfeefe3d3 Mon Sep 17 00:00:00 2001 From: manu Date: Mon, 4 Jun 2001 07:44:39 +0000 Subject: Fixes by Chuck Silvers to make ptrace PEEKTEXT more 64 bit friendy --- sys/compat/linux/common/linux_misc.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'sys/compat/linux/common/linux_misc.c') diff --git a/sys/compat/linux/common/linux_misc.c b/sys/compat/linux/common/linux_misc.c index d1d956f4e99..d0335f40a76 100644 --- a/sys/compat/linux/common/linux_misc.c +++ b/sys/compat/linux/common/linux_misc.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_misc.c,v 1.91 2001/06/03 18:22:27 manu Exp $ */ +/* $NetBSD: linux_misc.c,v 1.92 2001/06/04 07:44:39 manu Exp $ */ /*- * Copyright (c) 1995, 1998, 1999 The NetBSD Foundation, Inc. @@ -1230,9 +1230,6 @@ linux_sys_ptrace(p, v, retval) while (*ptr != -1) if (*ptr++ == request) { struct sys_ptrace_args pta; - caddr_t sg; - - sg = stackgap_init(p->p_emul); SCARG(&pta, req) = *ptr; SCARG(&pta, pid) = SCARG(uap, pid); @@ -1249,18 +1246,18 @@ linux_sys_ptrace(p, v, retval) SCARG(&pta, addr) = (caddr_t) 1; error = sys_ptrace(p, &pta, retval); - if (!error) - switch (request) { - case LINUX_PTRACE_PEEKTEXT: - case LINUX_PTRACE_PEEKDATA: - error = copyout (retval, - (caddr_t)(u_long)SCARG(&pta, data), - sizeof retval); - *retval = SCARG(&pta, data); - break; - default: - break; - } + if (error) + return error; + switch (request) { + case LINUX_PTRACE_PEEKTEXT: + case LINUX_PTRACE_PEEKDATA: + error = copyout (retval, + (caddr_t)SCARG(uap, data), sizeof *retval); + *retval = SCARG(uap, data); + break; + default: + break; + } return error; } else -- cgit