Set vmd virtio device fds to -1 on close after fork.
authordv <dv@openbsd.org>
Sat, 10 Feb 2024 02:10:41 +0000 (02:10 +0000)
committerdv <dv@openbsd.org>
Sat, 10 Feb 2024 02:10:41 +0000 (02:10 +0000)
commit78979b6612412f93a591f0fe67e3f3ae3fcda3fd
treec6be1f0e93f35b61534b2ed3d77ef237a670accc
parentfa5702e10918e755966496fa9ce45b651c024aaf
Set vmd virtio device fds to -1 on close after fork.

After the recent vmd(8) commit to clean up file descriptor lifecycles,
virtio disks with multiple file descriptors (QCOW2 images with at
least one base) would fail to initialize when booted with a network
device.

Use the new fd closing routine in the vm process for virtio devices
to close the device fds and set to -1, removing buggy copying and
closing of fds.

Additionally, close the vm/device sync and async channels when
closing a device's fds.

Issue reported by and ok kn@
usr.sbin/vmd/virtio.c