summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common
diff options
context:
space:
mode:
authormanu <manu@NetBSD.org>2001-06-04 07:44:39 +0000
committermanu <manu@NetBSD.org>2001-06-04 07:44:39 +0000
commitae80f433ec7e00eb4130f674bf35f78cfeefe3d3 (patch)
treeaefa19a04bd9ec856fc3a9b828d08ca829b237f6 /sys/compat/linux/common
parent147c9186b5b8b6c99a253c141c2961d3fe3e37d7 (diff)
Fixes by Chuck Silvers to make ptrace PEEKTEXT more 64 bit friendy
Diffstat (limited to 'sys/compat/linux/common')
-rw-r--r--sys/compat/linux/common/linux_misc.c29
1 files changed, 13 insertions, 16 deletions
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