Date: Wed, 05 Jan 2005 14:34:40 -0700 From: Scott Long <scottl@freebsd.org> To: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> Cc: Roman Kurakin <rik@cronyx.ru> Subject: Re: netgraph(4) initialization order Message-ID: <41DC5D70.5030105@freebsd.org> In-Reply-To: <41DC5C5E.9080706@savvis.net> References: <41DB08B9.6090801@savvis.net> <41DB1310.4060807@cronyx.ru> <41DB1700.7060708@savvis.net> <41DB1839.9080104@elischer.org> <41DC4FA2.8070609@savvis.net> <41DC5398.8020508@freebsd.org> <41DC5561.4090005@savvis.net> <41DC5690.3090205@freebsd.org> <41DC598D.50409@savvis.net> <41DC5C5E.9080706@savvis.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Maksim Yevmenkin wrote: > [...] > >>>> how about new attached patch? >>>> >>> >>> Exactly what I had in mind =-) Have you tested this out to make sure >>> it fixes the problem cases? >> >> >> i'm building kernel now, but i'm almost certain it will fix the >> problem. the stack trace i got points to ng_newtype() calling >> ng_findtype() that wants to mtx_lock(ng_typelist_mtx). i'm pretty sure >> the ng_typelist_mtx mutex was not initialized, that is ngb_mod_event() >> was never called. >> >> panic: mtx_lock() of spin mutex (null) @ >> /usr/src/sys/netgraph/ng_base.c:1189 >> >> no mutex name and ng_typelist_mtx is *not* a spin mutex. >> >> ng_ubt(4) calls ng_newtype() from its mod_event handler, so i think >> ng_ubt(4) mod_event handler was called before ngb_mod_event(). > > > built new kernel (with netgraph and ubt compiled in) and rebooted the > box. no crash. so patch works. > > can i commit it? > > thanks, > max Sounds good, thanks for working on this! I don't think that there are any API/ABI implications for RELENG_5 that would prevent this from being merged back, but we might want to think a bit more about it just to be sure. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41DC5D70.5030105>