summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorgreen <green@FreeBSD.org>2004-03-18 18:15:58 +0000
committergreen <green@FreeBSD.org>2004-03-18 18:15:58 +0000
commitaae79f39c1ed4d0a53e13d513424fd6530049a57 (patch)
tree5fd3a0401e5b361aa544822722ecd245ef82ceec /sys/kern
parent2094be29646dbec7fb96a01cdbdd4d2fdc6b74dd (diff)
downloadFreeBSD-src-aae79f39c1ed4d0a53e13d513424fd6530049a57.zip
FreeBSD-src-aae79f39c1ed4d0a53e13d513424fd6530049a57.tar.gz
Add the missing Giant when doing anything with VFS -- in this case,
releasing the ktrace vnode.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_exit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 5f37ca6..8c82e42 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -367,8 +367,11 @@ exit1(struct thread *td, int rv)
p->p_tracecred = NULL;
mtx_unlock(&ktrace_mtx);
PROC_UNLOCK(p);
- if (tracevp != NULL)
+ if (tracevp != NULL) {
+ mtx_lock(&Giant);
vrele(tracevp);
+ mtx_unlock(&Giant);
+ }
if (tracecred != NULL)
crfree(tracecred);
#endif
OpenPOWER on IntegriCloud