[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 2/9] linux-user: report ENOTTY for unknown ioctls
From: |
Laurent Vivier |
Subject: |
[PULL 2/9] linux-user: report ENOTTY for unknown ioctls |
Date: |
Fri, 12 May 2023 13:22:31 +0200 |
From: Thomas Weißschuh <thomas@t-8ch.de>
The correct error number for unknown ioctls is ENOTTY.
ENOSYS would mean that the ioctl() syscall itself is not implemented,
which is very improbable and unexpected for userspace.
ENOTTY means "Inappropriate ioctl for device". This is what the kernel
returns on unknown ioctls, what qemu is trying to express and what
userspace is prepared to handle.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230426070659.80649-1-thomas@t-8ch.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
linux-user/syscall.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 085ce530213e..954ed14df4c0 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5747,7 +5747,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
if (ie->target_cmd == 0) {
qemu_log_mask(
LOG_UNIMP, "Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
- return -TARGET_ENOSYS;
+ return -TARGET_ENOTTY;
}
if (ie->target_cmd == cmd)
break;
@@ -5759,7 +5759,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
} else if (!ie->host_cmd) {
/* Some architectures define BSD ioctls in their headers
that are not implemented in Linux. */
- return -TARGET_ENOSYS;
+ return -TARGET_ENOTTY;
}
switch(arg_type[0]) {
@@ -5817,7 +5817,7 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
qemu_log_mask(LOG_UNIMP,
"Unsupported ioctl type: cmd=0x%04lx type=%d\n",
(long)cmd, arg_type[0]);
- ret = -TARGET_ENOSYS;
+ ret = -TARGET_ENOTTY;
break;
}
return ret;
--
2.40.1
- [PULL 0/9] Linux user for 8.1 patches, Laurent Vivier, 2023/05/12
- [PULL 3/9] linux-user: Add move_mount() syscall, Laurent Vivier, 2023/05/12
- [PULL 2/9] linux-user: report ENOTTY for unknown ioctls,
Laurent Vivier <=
- [PULL 6/9] linux-user: Add new flag VERIFY_NONE, Laurent Vivier, 2023/05/12
- [PULL 7/9] linux-user: Don't require PROT_READ for mincore, Laurent Vivier, 2023/05/12
- [PULL 4/9] linux-user: Add open_tree() syscall, Laurent Vivier, 2023/05/12
- [PULL 9/9] linux-user: fix getgroups/setgroups allocations, Laurent Vivier, 2023/05/12
- [PULL 8/9] linux-user: Fix mips fp64 executables loading, Laurent Vivier, 2023/05/12
- [PULL 5/9] linux-user/main: Use list_cpus() instead of cpu_list(), Laurent Vivier, 2023/05/12
- [PULL 1/9] linux-user: Emulate /proc/cpuinfo output for riscv, Laurent Vivier, 2023/05/12
- Re: [PULL 0/9] Linux user for 8.1 patches, Richard Henderson, 2023/05/13