vmd(8): fix console attach from vmctl(8).
authordv <dv@openbsd.org>
Fri, 12 May 2023 14:42:30 +0000 (14:42 +0000)
committerdv <dv@openbsd.org>
Fri, 12 May 2023 14:42:30 +0000 (14:42 +0000)
commit4ff80aa38f7f2bdfc34fd1c72ee66e90ce19d4ad
tree188951b9491719ff9cb6b36ee9877e27ed657453
parent9dd2df6aa8c1e6f5e9bf7dbaa8de656a22936b38
vmd(8): fix console attach from vmctl(8).

Adding in the ability to override the boot kernel created an edge
case in the ipc message handling logic for the parent process (vmd)
when receiving a "start vm" request. Result was incorrectly responding
to the control process, and as a result the vmctl client, with a
bogus "start vm response" reply with an empty tty name.

This commit rewrites the logic of how vmd goes about processing the
"start vm" request with the aim of making it simpler to understand
while addressing the edge case.

Issue reported by kn@. OK mlarkin@.
usr.sbin/vmd/vmd.c