vmctl(8): avoid abort when given an invalid "kernel" file.
authordv <dv@openbsd.org>
Thu, 9 Nov 2023 12:26:08 +0000 (12:26 +0000)
committerdv <dv@openbsd.org>
Thu, 9 Nov 2023 12:26:08 +0000 (12:26 +0000)
commit0e4dbc4a7b3c1f605c381ba020201eb98d4ddd26
tree54fb7ed2042d04a5e3dc427152a9442fd71dfbc9
parent2382ddb5c72a3313d1f61fa368a306b9e8ce9e02
vmctl(8): avoid abort when given an invalid "kernel" file.

The vmctl `start` command allows the user to pass an optional
"kernel" file (either a ramdisk kernel or a SeaBIOS image). This
file is opened by vmctl and the descriptor passed via imsg.

If the file provided isn't a regular file, the attempt to send the
start message to vmd(8)'s control socket will fail and results in
a the vmctl process aborting.

Check the file type after open and fail gracefully if not a regular
file.

reported by and ok gnezdo@
usr.sbin/vmctl/vmctl.c