]> err.no Git - linux-2.6/commitdiff
[NETNS]: Pass correct namespace in ip_rt_get_source.
authorDenis V. Lunev <den@openvz.org>
Tue, 22 Jan 2008 01:35:06 +0000 (17:35 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:10:23 +0000 (15:10 -0800)
ip_rt_get_source is the infamous place for which dst_ifdown kludges
have been implemented. This means that rt->u.dst.dev can be safely
dereferrenced obtain nd_net.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/route.c

index f988ae39c4c2becc98fc4dcee108101dfd8e5a1e..27e0f81060a7f97a9e4a1a169806f180f7dcc543 100644 (file)
@@ -1559,7 +1559,7 @@ void ip_rt_get_source(u8 *addr, struct rtable *rt)
 
        if (rt->fl.iif == 0)
                src = rt->rt_src;
-       else if (fib_lookup(&init_net, &rt->fl, &res) == 0) {
+       else if (fib_lookup(rt->u.dst.dev->nd_net, &rt->fl, &res) == 0) {
                src = FIB_RES_PREFSRC(res);
                fib_res_put(&res);
        } else