diff options
author | green <green@FreeBSD.org> | 2004-03-18 18:15:58 +0000 |
---|---|---|
committer | green <green@FreeBSD.org> | 2004-03-18 18:15:58 +0000 |
commit | aae79f39c1ed4d0a53e13d513424fd6530049a57 (patch) | |
tree | 5fd3a0401e5b361aa544822722ecd245ef82ceec /sys | |
parent | 2094be29646dbec7fb96a01cdbdd4d2fdc6b74dd (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/kern/kern_exit.c | 5 |
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 |