[NET]: Add a dev_ioctl() fallback to sock_ioctl()
Currently all network protocols need to call dev_ioctl as the default fallback in their ioctl implementations. This patch adds a fallback to dev_ioctl to sock_ioctl if the protocol returned -ENOIOCTLCMD. This way all the procotol ioctl handlers can be simplified and we don't need to export dev_ioctl. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
5ff7630e4a
commit
b5e5fa5e09
@@ -1763,7 +1763,7 @@ static int atalk_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr
|
||||
*/
|
||||
static int atalk_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
int rc = -EINVAL;
|
||||
int rc = -ENOIOCTLCMD;
|
||||
struct sock *sk = sock->sk;
|
||||
void __user *argp = (void __user *)arg;
|
||||
|
||||
@@ -1813,23 +1813,6 @@ static int atalk_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
||||
rc = atif_ioctl(cmd, argp);
|
||||
rtnl_unlock();
|
||||
break;
|
||||
/* Physical layer ioctl calls */
|
||||
case SIOCSIFLINK:
|
||||
case SIOCGIFHWADDR:
|
||||
case SIOCSIFHWADDR:
|
||||
case SIOCGIFFLAGS:
|
||||
case SIOCSIFFLAGS:
|
||||
case SIOCGIFTXQLEN:
|
||||
case SIOCSIFTXQLEN:
|
||||
case SIOCGIFMTU:
|
||||
case SIOCGIFCONF:
|
||||
case SIOCADDMULTI:
|
||||
case SIOCDELMULTI:
|
||||
case SIOCGIFCOUNT:
|
||||
case SIOCGIFINDEX:
|
||||
case SIOCGIFNAME:
|
||||
rc = dev_ioctl(cmd, argp);
|
||||
break;
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
Reference in New Issue
Block a user