CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2023/07/15 12:32:21
Modified files: usr.sbin/vmd : virtio.c Log message: vmd(8): fix use of qcow base images. The vm process was prematurely setting device fds to not close-on-exec and then trying to close(2) them after the fork(2) of the device process. This caused a reuse of an fd for one of the socketpair(2)'s for communication between vm and device. Having device processes close(2) other device fds after fork would break the socketpair, causing the device to fail during startup post-exec when trying to receive its device state from the parent vm process. Instead, mark the fds to not close on exec post-fork(2) call allowing other device fds to be closed automatically and avoid closing by the tracked fd. Reported by solene@. OK tb@.