panic: _rw_wlock_hard

Robert Watson rwatson at FreeBSD.org
Mon Feb 23 15:01:16 PST 2009


On Sat, 21 Feb 2009, Robert Watson wrote:

> Something like the following may help -- build-tested but not not run-time 
> tested:

I've now committed this patch to head as r188962 -- thanks for the report!

Robert N M Watson
Computer Laboratory
University of Cambridge

>
> Index: in_rmx.c
> ===================================================================
> --- in_rmx.c	(revision 186118)
> +++ in_rmx.c	(working copy)
> @@ -230,6 +230,8 @@
> 	struct rtentry *rt = (struct rtentry *)rn;
> 	int err;
>
> +	RADIX_NODE_HEAD_WLOCK_ASSERT(ap->rnh);
> +
> 	if (rt->rt_flags & RTPRF_OURS) {
> 		ap->found++;
>
> @@ -240,7 +242,8 @@
> 			err = in_rtrequest(RTM_DELETE,
> 					(struct sockaddr *)rt_key(rt),
> 					rt->rt_gateway, rt_mask(rt),
> -					rt->rt_flags, 0, rt->rt_fibnum);
> +					rt->rt_flags | RTF_RNH_LOCKED, 0,
> +					rt->rt_fibnum);
> 			if (err) {
> 				log(LOG_WARNING, "in_rtqkill: error %d\n", 
> err);
> 			} else {
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>


More information about the freebsd-net mailing list