From d0f214261becf92ed908ce378294b3861225fc32 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 13 Dec 2011 16:48:21 -0500 Subject: [PATCH] --- yaml --- r: 278787 b: refs/heads/master c: b43faac69062f0fc75bd3230d67da64e184232d1 h: refs/heads/master i: 278785: 92b2bcf047db92470940a9684cbe7c771808ea3c 278783: 3d427f85c401b0b823acfe8da78fc0bc66513b3f v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5a373b3449bb..ef86fae37450 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5c3ddec73d01a1fae9409c197078cb02c42238c3 +refs/heads/master: b43faac69062f0fc75bd3230d67da64e184232d1 diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index d98cf41edf2a..4bf362baa97a 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -1089,8 +1089,10 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev, neigh_hold(neigh); else { neigh = __neigh_lookup_errno(&nd_tbl, &fl6->daddr, dev); - if (IS_ERR(neigh)) - neigh = NULL; + if (IS_ERR(neigh)) { + dst_free(&rt->dst); + return ERR_CAST(neigh); + } } rt->dst.flags |= DST_HOST;