From 88988e427f6164e8c19401990860b1c772ea8150 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 9 Mar 2011 19:55:25 -0800 Subject: [PATCH] --- yaml --- r: 233891 b: refs/heads/master c: 7343ff31ebf01691ea4515d3126467434b9d22d6 h: refs/heads/master i: 233889: 302dc1c20987464f3a9df2f4e15cf7b5a39657d7 233887: 81ff3b1a42fb6e3e4abc6626936b95cbb41017e3 v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1ac780f0bcd0..a1fcd966c676 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 03a14ab134f4811ab1475f07b1305ccaf38b690f +refs/heads/master: 7343ff31ebf01691ea4515d3126467434b9d22d6 diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index 904312e25a3c..e7db7014e89f 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -739,8 +739,10 @@ static struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, 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;