summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6.c
diff options
context:
space:
mode:
authorjinmei <jinmei@FreeBSD.org>2007-06-02 07:27:02 +0000
committerjinmei <jinmei@FreeBSD.org>2007-06-02 07:27:02 +0000
commitac701ac964be6305982bbc81a67581b4fc708ec2 (patch)
tree465ad5a0d407da6b6b9e3b50df7bee6f218da354 /sys/netinet6/in6.c
parent0f2163d639358bf9bfdc94dd2db4d63992ede7b6 (diff)
downloadFreeBSD-src-ac701ac964be6305982bbc81a67581b4fc708ec2.zip
FreeBSD-src-ac701ac964be6305982bbc81a67581b4fc708ec2.tar.gz
simplified the fix in rev. 1.69 by replacing RT_REMREF+RT_UNLOCK with
RTFREE_LOCKED. Approved by: gnn (mentor)
Diffstat (limited to 'sys/netinet6/in6.c')
-rw-r--r--sys/netinet6/in6.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index 81ef6fb..bf3f3e7 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -215,10 +215,8 @@ in6_ifaddloop(struct ifaddr *ifa)
rt = rtalloc1(ifa->ifa_addr, 0, 0);
need_loop = (rt == NULL || (rt->rt_flags & RTF_HOST) == 0 ||
(rt->rt_ifp->if_flags & IFF_LOOPBACK) == 0);
- if (rt) {
- RT_REMREF(rt);
- RT_UNLOCK(rt);
- }
+ if (rt)
+ RTFREE_LOCKED(rt);
if (need_loop)
in6_ifloop_request(RTM_ADD, ifa);
}
@@ -270,8 +268,7 @@ in6_ifremloop(struct ifaddr *ifa)
if (rt != NULL) {
if ((rt->rt_flags & RTF_HOST) != 0 &&
(rt->rt_ifp->if_flags & IFF_LOOPBACK) != 0) {
- RT_REMREF(rt);
- RT_UNLOCK(rt);
+ RTFREE_LOCKED(rt);
in6_ifloop_request(RTM_DELETE, ifa);
} else
RT_UNLOCK(rt);
OpenPOWER on IntegriCloud