diff options
author | 2000-04-20 10:03:41 +0000 | |
---|---|---|
committer | 2000-04-20 10:03:41 +0000 | |
commit | abe3a10852489c9ab16d32dc2902d399e40b7c2f (patch) | |
tree | 2bee50429ef242e7c1fee8c31ce6744f8d914816 /sys/kern/kern_exec.c | |
parent | Add /etc/resolv.conf.tail (diff) | |
download | wireguard-openbsd-abe3a10852489c9ab16d32dc2902d399e40b7c2f.tar.xz wireguard-openbsd-abe3a10852489c9ab16d32dc2902d399e40b7c2f.zip |
Add a function "ktrsettracevnode", that changes the ktrace vnode for a process
in a correct way. Use it in all places where the vnode was changed.
(most of the earlier code was incorrect and had races).
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 15ed8af28fe..b5de0c02c0d 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_exec.c,v 1.41 2000/03/23 15:55:52 art Exp $ */ +/* $OpenBSD: kern_exec.c,v 1.42 2000/04/20 10:03:42 art Exp $ */ /* $NetBSD: kern_exec.c,v 1.75 1996/02/09 18:59:28 christos Exp $ */ /*- @@ -497,8 +497,7 @@ sys_execve(p, v, retval) */ if (p->p_tracep && !(p->p_traceflag & KTRFAC_ROOT)) { p->p_traceflag = 0; - vrele(p->p_tracep); - p->p_tracep = NULL; + ktrsettracevnode(p, NULL); } #endif p->p_ucred = crcopy(cred); |