Date: Tue, 12 Nov 2019 21:08:49 +0000 From: bugzilla-noreply@freebsd.org To: virtualization@FreeBSD.org Subject: [Bug 241808] bhyve e1000 broken after r354288 Message-ID: <bug-241808-27103-wEJqwlks1T@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-241808-27103@https.bugs.freebsd.org/bugzilla/> References: <bug-241808-27103@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241808 --- Comment #3 from commit-hook@freebsd.org --- A commit references this bug: Author: vmaffione Date: Tue Nov 12 21:07:51 UTC 2019 New revision: 354659 URL: https://svnweb.freebsd.org/changeset/base/354659 Log: bhyve: rework mevent processing to fix a race condition At the end of both mevent_add() and mevent_update(), mevent_notify() is called to wakeup the I/O thread, that will call kevent(changelist) to update the kernel. A race condition is possible where the client calls mevent_add() and mevent_update(EV_ENABLE) before the I/O thread has the chance to wake up and call mevent_build()+kevent(changelist) in response to mevent_add(). The mevent_add() is therefore ignored by the I/O thread, and kevent(fd, EV_ENABLE) is called before kevent(fd, EV_ADD), resuliting in a failure of the kevent(fd, EV_ENABLE) call. PR: 241808 Reviewed by: jhb, markj MFC with: r354288 Differential Revision: https://reviews.freebsd.org/D22286 Changes: head/usr.sbin/bhyve/mevent.c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-241808-27103-wEJqwlks1T>