diff options
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r-- | sys/kern/kern_exit.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 25cc147..0793503 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -124,6 +124,7 @@ exit1(td, rv) struct proc *p = td->td_proc; register struct proc *q, *nq; register struct vmspace *vm; + struct vnode *vtmp; struct exitlist *ep; GIANT_REQUIRED; @@ -275,8 +276,10 @@ exit1(td, rv) * release trace file */ p->p_traceflag = 0; /* don't trace the vrele() */ - if (p->p_tracep) - vrele(p->p_tracep); + if ((vtmp = p->p_tracep) != NULL) { + p->p_tracep = NULL; + vrele(vtmp); + } #endif /* * Remove proc from allproc queue and pidhash chain. |