diff options
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 1b15e1708409..6abe7da45ef7 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -2122,7 +2122,8 @@ static int rt6_fill_node(struct sk_buff *skb, struct rt6_info *rt, | |||
2122 | NLA_PUT_U32(skb, RTA_IIF, iif); | 2122 | NLA_PUT_U32(skb, RTA_IIF, iif); |
2123 | else if (dst) { | 2123 | else if (dst) { |
2124 | struct in6_addr saddr_buf; | 2124 | struct in6_addr saddr_buf; |
2125 | if (ipv6_get_saddr(&rt->u.dst, dst, &saddr_buf) == 0) | 2125 | if (ipv6_dev_get_saddr(ip6_dst_idev(&rt->u.dst)->dev, |
2126 | dst, &saddr_buf) == 0) | ||
2126 | NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf); | 2127 | NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf); |
2127 | } | 2128 | } |
2128 | 2129 | ||