[NETNS]: Process devinet ioctl in the correct namespace.

Add namespace parameter to devinet_ioctl and locate device inside it for
state changes.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Denis V. Lunev
2008-02-28 20:51:43 -08:00
committed by David S. Miller
parent 73b3871165
commit e5b13cb10d
4 changed files with 9 additions and 8 deletions

View File

@@ -595,7 +595,7 @@ static __inline__ int inet_abc_len(__be32 addr)
}
int devinet_ioctl(unsigned int cmd, void __user *arg)
int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg)
{
struct ifreq ifr;
struct sockaddr_in sin_orig;
@@ -624,7 +624,7 @@ int devinet_ioctl(unsigned int cmd, void __user *arg)
*colon = 0;
#ifdef CONFIG_KMOD
dev_load(&init_net, ifr.ifr_name);
dev_load(net, ifr.ifr_name);
#endif
switch (cmd) {
@@ -665,7 +665,7 @@ int devinet_ioctl(unsigned int cmd, void __user *arg)
rtnl_lock();
ret = -ENODEV;
if ((dev = __dev_get_by_name(&init_net, ifr.ifr_name)) == NULL)
if ((dev = __dev_get_by_name(net, ifr.ifr_name)) == NULL)
goto done;
if (colon)