Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2009 23:01:15 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        dikshie <dikshie@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: panic: _rw_wlock_hard
Message-ID:  <alpine.BSF.2.00.0902232300270.92010@fledge.watson.org>
In-Reply-To: <alpine.BSF.2.00.0902211408260.98609@fledge.watson.org>
References:  <910e60e80902180150n41a592ffyb62ea53beb24f1ef@mail.gmail.com> <alpine.BSF.2.00.0902211408260.98609@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0902232300270.92010>