[PANIC] _rw_rlock (radix node head): wlock already held @
/usr/src/sys/net/route.c:291
Tor Egge
Tor.Egge at cvsup.no.freebsd.org
Sat Dec 13 20:36:27 UTC 2008
> I upgraded to CURRENT Dec 12 11pm and get this panic when ifconfig tries to
> add an ipv6 route.
I've gotten similar panics and am currently using the enclosed patch.
- Tor Egge
-------------- next part --------------
Index: sys/netinet/in_rmx.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/in_rmx.c,v
retrieving revision 1.65
diff -u -r1.65 in_rmx.c
--- sys/netinet/in_rmx.c 2 Dec 2008 21:37:28 -0000 1.65
+++ sys/netinet/in_rmx.c 13 Dec 2008 15:43:33 -0000
@@ -115,7 +115,7 @@
* ARP entry and delete it if so.
*/
rt2 = in_rtalloc1((struct sockaddr *)sin, 0,
- RTF_CLONING, rt->rt_fibnum);
+ RTF_CLONING | RTF_RNH_LOCKED, rt->rt_fibnum);
if (rt2) {
if (rt2->rt_flags & RTF_LLINFO &&
rt2->rt_flags & RTF_HOST &&
Index: sys/netinet6/in6_rmx.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet6/in6_rmx.c,v
retrieving revision 1.31
diff -u -r1.31 in6_rmx.c
--- sys/netinet6/in6_rmx.c 8 Dec 2008 00:28:21 -0000 1.31
+++ sys/netinet6/in6_rmx.c 13 Dec 2008 19:51:18 -0000
@@ -160,7 +160,8 @@
* Find out if it is because of an
* ARP entry and delete it if so.
*/
- rt2 = rtalloc1((struct sockaddr *)sin6, 0, RTF_CLONING);
+ rt2 = rtalloc1((struct sockaddr *)sin6, 0,
+ RTF_CLONING | RTF_RNH_LOCKED);
if (rt2) {
if (rt2->rt_flags & RTF_LLINFO &&
rt2->rt_flags & RTF_HOST &&
@@ -187,7 +188,8 @@
* net route entry, 3ffe:0501:: -> if0.
* This case should not raise an error.
*/
- rt2 = rtalloc1((struct sockaddr *)sin6, 0, RTF_CLONING);
+ rt2 = rtalloc1((struct sockaddr *)sin6, 0,
+ RTF_CLONING | RTF_RNH_LOCKED);
if (rt2) {
if ((rt2->rt_flags & (RTF_CLONING|RTF_HOST|RTF_GATEWAY))
== RTF_CLONING
More information about the freebsd-current
mailing list