[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:

committed by
David S. Miller

parent
73b3871165
commit
e5b13cb10d
@@ -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)
|
||||
|
Reference in New Issue
Block a user