From 0cc746f19352979b65a3652149e4f6bd21c0104c Mon Sep 17 00:00:00 2001 From: Robert Wing Date: Tue, 2 Mar 2021 14:19:22 -0900 Subject: [PATCH] filt_fsevent: only record interested events Respect filter-specific flags for the EVFILT_FS filter. When a kevent is registered with the EVFILT_FS filter, it is always triggered when an EVFILT_FS event occurs, regardless of the filter-specific flags used. Fix that. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D28974 --- sys/kern/vfs_subr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 3f7dae762de0..c4772f691397 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -6016,7 +6016,8 @@ static int filt_fsevent(struct knote *kn, long hint) { - kn->kn_fflags |= hint; + kn->kn_fflags |= kn->kn_sfflags & hint; + return (kn->kn_fflags != 0); }