From 3f45440d99db2d372db2f3cc55118a157d7e377d Mon Sep 17 00:00:00 2001 From: Gao feng Date: Wed, 19 Sep 2012 19:25:34 +0000 Subject: [PATCH] --- yaml --- r: 330231 b: refs/heads/master c: 6825a26c2dc21eb4f8df9c06d3786ddec97cf53b h: refs/heads/master i: 330229: 6a9bcb271d64548578ce979d9784e13d9f324ff5 330227: 9998cade9c3e27b04d7ace8a8bc39bc93ba12ee4 330223: 8c68fe85ed1a65228eb2fd6fefab9e497ca0ea84 v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 6c1c796b187f..cc57b0d1c5cc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 32418cfe495c95013be2e805c087db89dcefac6d +refs/heads/master: 6825a26c2dc21eb4f8df9c06d3786ddec97cf53b diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index d1ddbc6ddac5..7c7e963260e1 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -1593,17 +1593,18 @@ static int __ip6_del_rt(struct rt6_info *rt, struct nl_info *info) struct fib6_table *table; struct net *net = dev_net(rt->dst.dev); - if (rt == net->ipv6.ip6_null_entry) - return -ENOENT; + if (rt == net->ipv6.ip6_null_entry) { + err = -ENOENT; + goto out; + } table = rt->rt6i_table; write_lock_bh(&table->tb6_lock); - err = fib6_del(rt, info); - dst_release(&rt->dst); - write_unlock_bh(&table->tb6_lock); +out: + dst_release(&rt->dst); return err; }