aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_event.c
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2001-04-12 21:32:02 +0000
committerRobert Watson <rwatson@FreeBSD.org>2001-04-12 21:32:02 +0000
commite386f9bda36084332c515c9a132cfc0572c6a668 (patch)
treed8a92d4957a136c716d9e27b84b955dcac31a861 /sys/kern/kern_event.c
parentd34f8d3030e522f6f05d4dbe68c499eb59a24443 (diff)
downloadsrc-e386f9bda36084332c515c9a132cfc0572c6a668.tar.gz
src-e386f9bda36084332c515c9a132cfc0572c6a668.zip
o Make kqueue's filt_procattach() function use the error value returned
by p_can(...P_CAN_SEE), rather than returning EACCES directly. This brings the error code used here into line with similar arrangements elsewhere, and prevents the leakage of pid usage information. Reviewed by: jlemon Obtained from: TrustedBSD Project
Notes
Notes: svn path=/head/; revision=75451
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r--sys/kern/kern_event.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index 14c162cca945..2cf1de9dfe05 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -165,12 +165,13 @@ static int
filt_procattach(struct knote *kn)
{
struct proc *p;
+ int error;
p = pfind(kn->kn_id);
if (p == NULL)
return (ESRCH);
- if (p_can(curproc, p, P_CAN_SEE, NULL))
- return (EACCES);
+ if ((error = p_can(curproc, p, P_CAN_SEE, NULL)))
+ return (error);
kn->kn_ptr.p_proc = p;
kn->kn_flags |= EV_CLEAR; /* automatically set */