-BETA6 panic with xorp multicast routing daemon
Robert Watson
rwatson at freebsd.org
Wed Sep 29 22:17:32 PDT 2004
On Thu, 30 Sep 2004, Dikshie wrote:
> I got my -BETA6 panic when run xorp routing daemon.
> Panic: mutex Giant not owned at /usr/src/sys/netinet/ip_mroute.c:2672
>
> I've included:
> options MROUTING
> options PIM
> for multicast purpose and:
>
> options KDB
> options KDB_TRACE
> options DDB #Enable the kernel debugger
> options DDB_NUMSYM
> options GDB
>
> for debugging. but my box didnt save core to /var/crash.
> any suggestions ?
>From the nature of the panic, it sounds like you're running with
NET_WITH_GIANT, debug.mpsafenet=0 in loader.conf, or that the setting has
been forced by running with a kernel component that relies on Giant over
the network stack?
Try the attached patch, please.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Principal Research Scientist, McAfee Research
Index: ip_mroute.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/ip_mroute.c,v
retrieving revision 1.108
diff -u -r1.108 ip_mroute.c
--- ip_mroute.c 27 Aug 2004 18:33:07 -0000 1.108
+++ ip_mroute.c 30 Sep 2004 05:00:17 -0000
@@ -598,20 +598,23 @@
static void
ip_mrouter_reset(void)
{
+ int callout_flag;
+
bzero((caddr_t)mfctable, sizeof(mfctable));
bzero((caddr_t)nexpire, sizeof(nexpire));
pim_assert = 0;
mrt_api_config = 0;
- callout_init(&expire_upcalls_ch, CALLOUT_MPSAFE);
+ callout_flag = debug_mpsafenet ? CALLOUT_MPSAFE : 0;
+ callout_init(&expire_upcalls_ch, callout_flag);
bw_upcalls_n = 0;
bzero((caddr_t)bw_meter_timers, sizeof(bw_meter_timers));
- callout_init(&bw_upcalls_ch, CALLOUT_MPSAFE);
- callout_init(&bw_meter_ch, CALLOUT_MPSAFE);
+ callout_init(&bw_upcalls_ch, callout_flag);
+ callout_init(&bw_meter_ch, callout_flag);
- callout_init(&tbf_reprocess_ch, CALLOUT_MPSAFE);
+ callout_init(&tbf_reprocess_ch, callout_flag);
}
static struct mtx mrouter_mtx; /* used to synch init/done work */
More information about the freebsd-current
mailing list