Commit f52c8fba authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Johannes Berg
Browse files

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: default avatarThomas Weißschuh <linux@weissschuh.net>
Reviewed-by: default avatarPrzemek 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: default avatarJohannes Berg <johannes.berg@intel.com>
parent ea5f4906
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)) {