networking: inappropriate ioctl operation should return ENOTTY
ioctl() calls against a socket with an inappropriate ioctl operation are incorrectly returning EINVAL rather than ENOTTY: [ENOTTY] Inappropriate I/O control operation. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=33992 Signed-off-by: Lifeng Sun <lifongsun@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
983960b159
commit
41c31f318a
@@ -4773,7 +4773,7 @@ static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cm
|
|||||||
* is never reached
|
* is never reached
|
||||||
*/
|
*/
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
err = -EINVAL;
|
err = -ENOTTY;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -5041,7 +5041,7 @@ int dev_ioctl(struct net *net, unsigned int cmd, void __user *arg)
|
|||||||
/* Set the per device memory buffer space.
|
/* Set the per device memory buffer space.
|
||||||
* Not applicable in our case */
|
* Not applicable in our case */
|
||||||
case SIOCSIFLINK:
|
case SIOCSIFLINK:
|
||||||
return -EINVAL;
|
return -ENOTTY;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unknown or private ioctl.
|
* Unknown or private ioctl.
|
||||||
@@ -5062,7 +5062,7 @@ int dev_ioctl(struct net *net, unsigned int cmd, void __user *arg)
|
|||||||
/* Take care of Wireless Extensions */
|
/* Take care of Wireless Extensions */
|
||||||
if (cmd >= SIOCIWFIRST && cmd <= SIOCIWLAST)
|
if (cmd >= SIOCIWFIRST && cmd <= SIOCIWLAST)
|
||||||
return wext_handle_ioctl(net, &ifr, cmd, arg);
|
return wext_handle_ioctl(net, &ifr, cmd, arg);
|
||||||
return -EINVAL;
|
return -ENOTTY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user