diff options
author | Thomas Weißschuh <linux@weissschuh.net> | 2023-11-01 20:41:38 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-11-24 20:03:59 +0100 |
commit | f52c8fba984c7ca1ee687504862a4f8b3c5ef854 (patch) | |
tree | eb4cd763275eb148241a6518373232698a2b9662 /net | |
parent | ea5f49061d1ddbe7c066c3f28ecb106a479154af (diff) | |
download | linux-f52c8fba984c7ca1ee687504862a4f8b3c5ef854.tar.gz linux-f52c8fba984c7ca1ee687504862a4f8b3c5ef854.tar.bz2 linux-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>
Diffstat (limited to 'net')
-rw-r--r-- | net/rfkill/core.c | 4 |
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)) { |