[NETNS]: Process inet_select_addr inside a namespace.

The context is available from a network device passed in.

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:52:54 -08:00 committed by David S. Miller
parent 3776c8891a
commit c4544c7243

View File

@ -872,6 +872,7 @@ __be32 inet_select_addr(const struct net_device *dev, __be32 dst, int scope)
{
__be32 addr = 0;
struct in_device *in_dev;
struct net *net = dev->nd_net;
rcu_read_lock();
in_dev = __in_dev_get_rcu(dev);
@ -900,7 +901,7 @@ __be32 inet_select_addr(const struct net_device *dev, __be32 dst, int scope)
*/
read_lock(&dev_base_lock);
rcu_read_lock();
for_each_netdev(&init_net, dev) {
for_each_netdev(net, dev) {
if ((in_dev = __in_dev_get_rcu(dev)) == NULL)
continue;