Date: Mon, 11 Oct 2010 11:25:37 +0000 (UTC) From: Xin LI <delphij@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/netinet in_rmx.c src/sys/netinet6 in6_rmx.c Message-ID: <201010111126.o9BBQI9r046237@repoman.freebsd.org>
index | next in thread | raw e-mail
delphij 2010-10-11 11:25:37 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_8)
sys/netinet in_rmx.c
sys/netinet6 in6_rmx.c
Log:
SVN rev 213687 on 2010-10-11 11:25:37Z by delphij
MFC r213225:
Add a bandaid for a long-standing race condition during route entry
un-expiring.
The previous version of code have no locking when testing rt_refcnt.
The result of the lack of locking may result in a condition where
a routing entry have a reference count but at the same time have
RTPRF_OURS bit set and an expiration timer. These would eventually
lead to a panic:
panic: rtqkill route really not free
When the system have ICMP redirects accepted from local gateway
in a moderate frequency, for instance.
Commit this workaround for now until we have some better solution.
PR: kern/149804
Reviewed by: bz
Tested by: Zhao Xin, Pete French
Revision Changes Path
1.79.2.4 +3 -2 src/sys/netinet/in_rmx.c
1.46.2.3 +3 -1 src/sys/netinet6/in6_rmx.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010111126.o9BBQI9r046237>
