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>