summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_ktrace.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2006-01-23 21:45:32 +0000
committerjhb <jhb@FreeBSD.org>2006-01-23 21:45:32 +0000
commit0c769dbc8bc5d9557d0963f0c6c9b59dd1045cf5 (patch)
treeff7b041cb76317984c00243ceae327dc8fca787c /sys/kern/kern_ktrace.c
parent80610803f591a843f1295103209478fe22efd97d (diff)
downloadFreeBSD-src-0c769dbc8bc5d9557d0963f0c6c9b59dd1045cf5.zip
FreeBSD-src-0c769dbc8bc5d9557d0963f0c6c9b59dd1045cf5.tar.gz
Fix a vnode reference leak in the ktrace code. We always grab a reference
to the vnode at the start of ktr_writerequest() but were missing the corresponding vrele() after we finished the write operation. Reported by: jasone
Diffstat (limited to 'sys/kern/kern_ktrace.c')
-rw-r--r--sys/kern/kern_ktrace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
index aadd611..fbb0b0d 100644
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -952,6 +952,7 @@ ktr_writerequest(struct thread *td, struct ktr_request *req)
error = VOP_WRITE(vp, &auio, IO_UNIT | IO_APPEND, cred);
VOP_UNLOCK(vp, 0, td);
vn_finished_write(mp);
+ vrele(vp);
mtx_unlock(&Giant);
if (!error)
return;
OpenPOWER on IntegriCloud