summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Weißschuh <linux@weissschuh.net>2023-11-01 20:41:38 +0100
committerJohannes Berg <johannes.berg@intel.com>2023-11-24 20:03:59 +0100
commitf52c8fba984c7ca1ee687504862a4f8b3c5ef854 (patch)
treeeb4cd763275eb148241a6518373232698a2b9662
parentea5f49061d1ddbe7c066c3f28ecb106a479154af (diff)
downloadlinux-stable-f52c8fba984c7ca1ee687504862a4f8b3c5ef854.tar.gz
linux-stable-f52c8fba984c7ca1ee687504862a4f8b3c5ef854.tar.bz2
linux-stable-f52c8fba984c7ca1ee687504862a4f8b3c5ef854.zip
rfkill: return ENOTTY on invalid ioctl
For unknown ioctls the correct error is ENOTTY "Inappropriate ioctl for device". ENOSYS as returned before should only be used to indicate that a syscall is not available at all. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Link: https://lore.kernel.org/r/20231101-rfkill-ioctl-enosys-v1-1-5bf374fabffe@weissschuh.net [in theory this breaks userspace API, but it was discussed and researched, and nothing found relying on the current behaviour] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/rfkill/core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rfkill/core.c b/net/rfkill/core.c
index 14cc8fe8584b..c3feb4f49d09 100644
--- a/net/rfkill/core.c
+++ b/net/rfkill/core.c
@@ -1351,11 +1351,11 @@ static long rfkill_fop_ioctl(struct file *file, unsigned int cmd,
unsigned long arg)
{
struct rfkill_data *data = file->private_data;
- int ret = -ENOSYS;
+ int ret = -ENOTTY;
u32 size;
if (_IOC_TYPE(cmd) != RFKILL_IOC_MAGIC)
- return -ENOSYS;
+ return -ENOTTY;
mutex_lock(&data->mtx);
switch (_IOC_NR(cmd)) {