bhyvectl: print a better error message when vm_open() fails

Use errno to print a more descriptive error message when vm_open() fails

libvmm: preserve errno when vm_device_open() fails

vm_destroy() squashes errno by making a dive into sysctlbyname() - we
can safely skip vm_destroy() here since it's not doing any critical
clean up at this point. Replace vm_destroy() with a free() call.

PR:             250671
MFC after:      3 days
Submitted by:   marko@apache.org
Reviewed by:	grehan
Differential Revision:	https://reviews.freebsd.org/D29109
This commit is contained in:
Robert Wing 2021-03-06 21:19:30 -09:00
parent 2fc640d5bc
commit 6bb140e3ca
2 changed files with 4 additions and 2 deletions

View File

@ -133,7 +133,7 @@ vm_open(const char *name)
return (vm); return (vm);
err: err:
vm_destroy(vm); free(vm);
return (NULL); return (NULL);
} }

View File

@ -1950,7 +1950,9 @@ main(int argc, char *argv[])
if (!error) { if (!error) {
ctx = vm_open(vmname); ctx = vm_open(vmname);
if (ctx == NULL) { if (ctx == NULL) {
printf("VM:%s is not created.\n", vmname); fprintf(stderr,
"vm_open: %s could not be opened: %s\n",
vmname, strerror(errno));
exit (1); exit (1);
} }
} }