diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2010-02-17 10:21:00 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2010-02-17 10:21:00 +0000 |
commit | 9814250d3008861ee17c445823c09ed3eed8778a (patch) | |
tree | 1d4f289b6e969b8d6410606d1d08d8d7bb004c09 | |
parent | a759723f3ba3e3126dabe3c57c23701f097fbf79 (diff) | |
download | src-9814250d3008861ee17c445823c09ed3eed8778a.tar.gz src-9814250d3008861ee17c445823c09ed3eed8778a.zip |
MFC r203875:
Do not leak process lock when current thread is not allowed to see target.
Approved by: re (bz)
Notes
Notes:
svn path=/releng/7.3/; revision=203997
-rw-r--r-- | sys/kern/kern_event.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index c45abcaf9957..3fda217d91b5 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -323,8 +323,10 @@ filt_procattach(struct knote *kn) if (p == NULL) return (ESRCH); - if ((error = p_cansee(curthread, p))) + if ((error = p_cansee(curthread, p))) { + PROC_UNLOCK(p); return (error); + } kn->kn_ptr.p_proc = p; kn->kn_flags |= EV_CLEAR; /* automatically set */ |