summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2004-02-08 00:04:22 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2004-02-08 00:04:22 +0000
commita02783ea75d6b976caa9ce511e0338c622745aa8 (patch)
treed80d454b1578159bbdb054d91d7864d3ab496bea /sys/kern
parent9af9f9c63736a116bd2919417bdef06365b1a4fe (diff)
restored & repaired wcookie support; kettenis@chello.nl
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/sys_process.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index 7646bea1a26..37664becb7d 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sys_process.c,v 1.26 2003/08/15 20:32:18 tedu Exp $ */
+/* $OpenBSD: sys_process.c,v 1.27 2004/02/08 00:04:21 deraadt Exp $ */
/* $NetBSD: sys_process.c,v 1.55 1996/05/15 06:17:47 tls Exp $ */
/*-
@@ -86,6 +86,9 @@ sys_ptrace(p, v, retval)
struct uio uio;
struct iovec iov;
struct ptrace_io_desc piod;
+#ifdef PT_WCOOKIE
+ register_t wcookie;
+#endif
int error, write;
int temp;
@@ -174,6 +177,9 @@ sys_ptrace(p, v, retval)
#ifdef PT_SETFPREGS
case PT_SETFPREGS:
#endif
+#ifdef PT_WCOOKIE
+ case PT_WCOOKIE:
+#endif
/*
* You can't do what you want to the process if:
* (1) It's not being traced at all,
@@ -422,6 +428,12 @@ sys_ptrace(p, v, retval)
return (procfs_dofpregs(p, t, NULL, &uio));
}
#endif
+#ifdef PT_WCOOKIE
+ case PT_WCOOKIE:
+ wcookie = process_get_wcookie (t);
+ return (copyout(&wcookie, SCARG(uap, addr),
+ sizeof (register_t)));
+#endif
}
#ifdef DIAGNOSTIC