From fe169828c3d6b0dfabd753da476928fe23ab54a5 Mon Sep 17 00:00:00 2001 From: Mark Johnston <markj@FreeBSD.org> Date: Fri, 19 Feb 2016 01:35:01 +0000 Subject: [PATCH] Return an error if both EV_ENABLE and EV_DISABLE are specified for a kevent. Currently, this combination results in EV_DISABLE being ignored. Reviewed by: kib Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5307 --- sys/kern/kern_event.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 805b6b541612..f96b6d75e79b 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -1116,6 +1116,9 @@ kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td, int wa int error, filt, event; int haskqglobal, filedesc_unlock; + if ((kev->flags & (EV_ENABLE | EV_DISABLE)) == (EV_ENABLE | EV_DISABLE)) + return (EINVAL); + fp = NULL; kn = NULL; error = 0;