On Mon, 25 Apr 2022 14:21:00 +0200
Christian Schoenebeck <qemu_oss@crudebyte.com> wrote:
> 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 63797e60cd..7364da394c 100644
> --- a/hw/9pfs/9p-util-darwin.c
> +++ b/hw/9pfs/9p-util-darwin.c
> @@ -116,7 +116,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;