diff --git a/[refs] b/[refs] index 998d32fd093b..50cf72f0a270 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc2ed77b9d6b579d61024163c74f41c24394fcc7 +refs/heads/master: cc3425cdc04206f3c8b9efb2c693e89aa3cd9ec7 diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index 24c456e8aa1d..496b62712fe8 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -2474,8 +2474,12 @@ static int rt6_fill_node(struct net *net, rcu_read_lock(); n = dst_get_neighbour_noref(&rt->dst); - if (n) - NLA_PUT(skb, RTA_GATEWAY, 16, &n->primary_key); + if (n) { + if (nla_put(skb, RTA_GATEWAY, 16, &n->primary_key) < 0) { + rcu_read_unlock(); + goto nla_put_failure; + } + } rcu_read_unlock(); if (rt->dst.dev)