diff options
author | Christoph Hellwig <hch@lst.de> | 2006-01-03 17:18:33 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-01-03 17:18:33 -0500 |
commit | b5e5fa5e093e42cab4ee3d6dcbc4f450ad29a723 (patch) | |
tree | 7a87804b0953f22de43054ccc7ae67ebc5b66b20 /net/ipv4 | |
parent | 5ff7630e4aa6c3969094dc30ff1cdaa6f52b0ed0 (diff) |
[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>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/af_inet.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 36a6306ca5a3..966a071a408c 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -777,10 +777,10 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) | |||
777 | err = devinet_ioctl(cmd, (void __user *)arg); | 777 | err = devinet_ioctl(cmd, (void __user *)arg); |
778 | break; | 778 | break; |
779 | default: | 779 | default: |
780 | if (!sk->sk_prot->ioctl || | 780 | if (sk->sk_prot->ioctl) |
781 | (err = sk->sk_prot->ioctl(sk, cmd, arg)) == | 781 | err = sk->sk_prot->ioctl(sk, cmd, arg); |
782 | -ENOIOCTLCMD) | 782 | else |
783 | err = dev_ioctl(cmd, (void __user *)arg); | 783 | err = -ENOIOCTLCMD; |
784 | break; | 784 | break; |
785 | } | 785 | } |
786 | return err; | 786 | return err; |