aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2026-04-02 11:02:14 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2026-04-02 13:26:55 +0000
commitaab1ef4527f1b0935add3e8dba9e928e0623376f (patch)
treef73c8371247f283cddf2670ef09cb4dd8eb89563
parent8f34b6b84c958f24a2f717b13876d57cdac07fd9 (diff)
kqueue_fork_copy_knote(): zero kn_knlist for the copy before calling knlist_add()
Reported by: pho, dhw Fixes: 306c9049c642da6a59a5dc088589605a9aa38b87 Sponsored by: The FreeBSD Foundation MFC after: 1 week
-rw-r--r--sys/kern/kern_event.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index f3723783146a..0d37327f14bd 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -3080,6 +3080,7 @@ kqueue_fork_copy_knote(struct kqueue *kq1, struct knote *kn, struct proc *p1,
kn1->kn_status |= KN_DETACHED;
kn1->kn_status &= ~KN_QUEUED;
kn1->kn_kq = kq1;
+ kn1->kn_knlist = NULL;
error = fop->f_copy(kn1, p1);
if (error != 0) {
knote_free(kn1);