svn commit: r226237 - stable/8/sys/netinet
Qing Li
qingli at FreeBSD.org
Mon Oct 10 21:41:34 UTC 2011
Author: qingli
Date: Mon Oct 10 21:41:34 2011
New Revision: 226237
URL: http://svn.freebsd.org/changeset/base/226237
Log:
MFC 226114
Remove the reference held on the loopback route when the interface
address is being deleted. Only the last reference holder deletes the
loopback route. All other delete operations just clear the IFA_RTSELF
flag.
PR: kern/159601
Submitted by: pluknet
Reviewed by: discussed on net@
Modified:
stable/8/sys/netinet/in.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/sys/netinet/in.c
==============================================================================
--- stable/8/sys/netinet/in.c Mon Oct 10 21:38:19 2011 (r226236)
+++ stable/8/sys/netinet/in.c Mon Oct 10 21:41:34 2011 (r226237)
@@ -1126,8 +1126,10 @@ in_scrubprefix(struct in_ifaddr *target,
RT_LOCK(ia_ro.ro_rt);
if (ia_ro.ro_rt->rt_refcnt <= 1)
freeit = 1;
- else
+ else if (flags & LLE_STATIC) {
RT_REMREF(ia_ro.ro_rt);
+ target->ia_flags &= ~IFA_RTSELF;
+ }
RTFREE_LOCKED(ia_ro.ro_rt);
}
if (freeit && (flags & LLE_STATIC)) {
More information about the svn-src-stable
mailing list