|
@@ -784,6 +784,7 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
|
{
|
|
{
|
|
struct sock *sk = sock->sk;
|
|
struct sock *sk = sock->sk;
|
|
int err = 0;
|
|
int err = 0;
|
|
|
|
+ struct net *net = sk->sk_net;
|
|
|
|
|
|
switch (cmd) {
|
|
switch (cmd) {
|
|
case SIOCGSTAMP:
|
|
case SIOCGSTAMP:
|
|
@@ -795,12 +796,12 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
|
case SIOCADDRT:
|
|
case SIOCADDRT:
|
|
case SIOCDELRT:
|
|
case SIOCDELRT:
|
|
case SIOCRTMSG:
|
|
case SIOCRTMSG:
|
|
- err = ip_rt_ioctl(sk->sk_net, cmd, (void __user *)arg);
|
|
|
|
|
|
+ err = ip_rt_ioctl(net, cmd, (void __user *)arg);
|
|
break;
|
|
break;
|
|
case SIOCDARP:
|
|
case SIOCDARP:
|
|
case SIOCGARP:
|
|
case SIOCGARP:
|
|
case SIOCSARP:
|
|
case SIOCSARP:
|
|
- err = arp_ioctl(sk->sk_net, cmd, (void __user *)arg);
|
|
|
|
|
|
+ err = arp_ioctl(net, cmd, (void __user *)arg);
|
|
break;
|
|
break;
|
|
case SIOCGIFADDR:
|
|
case SIOCGIFADDR:
|
|
case SIOCSIFADDR:
|
|
case SIOCSIFADDR:
|
|
@@ -813,7 +814,7 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
|
case SIOCSIFPFLAGS:
|
|
case SIOCSIFPFLAGS:
|
|
case SIOCGIFPFLAGS:
|
|
case SIOCGIFPFLAGS:
|
|
case SIOCSIFFLAGS:
|
|
case SIOCSIFFLAGS:
|
|
- err = devinet_ioctl(cmd, (void __user *)arg);
|
|
|
|
|
|
+ err = devinet_ioctl(net, cmd, (void __user *)arg);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
if (sk->sk_prot->ioctl)
|
|
if (sk->sk_prot->ioctl)
|