diff options
| -rw-r--r-- | net/ipv6/route.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 904312e25a3c..e7db7014e89f 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -739,8 +739,10 @@ restart:  	if (!rt->rt6i_nexthop && !(rt->rt6i_flags & RTF_NONEXTHOP))  		nrt = rt6_alloc_cow(rt, &fl->fl6_dst, &fl->fl6_src); -	else +	else if (!(rt->dst.flags & DST_HOST))  		nrt = rt6_alloc_clone(rt, &fl->fl6_dst); +	else +		goto out2;  	dst_release(&rt->dst);  	rt = nrt ? : net->ipv6.ip6_null_entry; | 
