diff options
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 24c456e8aa1d..496b62712fe8 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -2474,8 +2474,12 @@ static int rt6_fill_node(struct net *net, | |||
2474 | 2474 | ||
2475 | rcu_read_lock(); | 2475 | rcu_read_lock(); |
2476 | n = dst_get_neighbour_noref(&rt->dst); | 2476 | n = dst_get_neighbour_noref(&rt->dst); |
2477 | if (n) | 2477 | if (n) { |
2478 | NLA_PUT(skb, RTA_GATEWAY, 16, &n->primary_key); | 2478 | if (nla_put(skb, RTA_GATEWAY, 16, &n->primary_key) < 0) { |
2479 | rcu_read_unlock(); | ||
2480 | goto nla_put_failure; | ||
2481 | } | ||
2482 | } | ||
2479 | rcu_read_unlock(); | 2483 | rcu_read_unlock(); |
2480 | 2484 | ||
2481 | if (rt->dst.dev) | 2485 | if (rt->dst.dev) |