diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-07-29 12:43:55 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-07-29 12:43:55 +0000 |
| commit | 9a9349ea1da2d80e979fa87b430551d8f6dac7f4 (patch) | |
| tree | 95a0e51c9a682ee5f3a02936f9eea4b72462ac67 | |
| parent | b72f9bfc4513e3e286fb3fc2d07ebdd94ed7ac57 (diff) | |
kqueue: Associate marker knotes with a queue
Otherwise the assertion in KQ_FLUX_SLEEP_WMESG may fail.
kqueue_fork_copy() already handles this.
Fixes: 1f4b0ea4f3eb ("kqueue: Add a helper macro for sleeping on in-flux knotes")
Reported by: syzkaller
Reported by: kbowling
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58516
| -rw-r--r-- | sys/kern/kern_event.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 60c3b18a07eb..ba51714da0f3 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -2160,6 +2160,7 @@ kqueue_scan(struct kqueue *kq, int maxevents, struct kevent_copyops *k_ops, asbt = 0; memset(&marker, 0, sizeof(marker)); marker.kn_status = KN_MARKER; + marker.kn_kq = kq; KQ_LOCK(kq); retry: |
