qemu_mknodat() is expected to behave according to its POSIX API, and
therefore should always return exactly -1 on any error, and errno
should be set for the actual error code.
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
---
hw/9pfs/9p-util-darwin.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/9pfs/9p-util-darwin.c b/hw/9pfs/9p-util-darwin.c
index 619c403ba7..a5f8707bb8 100644
--- a/hw/9pfs/9p-util-darwin.c
+++ b/hw/9pfs/9p-util-darwin.c
@@ -124,7 +124,8 @@ int qemu_mknodat(int dirfd, const char *filename, mode_t mode, dev_t dev)
}
if (!pthread_fchdir_np) {
error_report_once("pthread_fchdir_np() not available on this version of macOS");
- return -ENOTSUP;
+ errno = ENOTSUP;
+ return -1;
}
if (pthread_fchdir_np(dirfd) < 0) {
return -1;
--
2.32.0 (Apple Git-132)