Re: netgraph(4) initialization order

From: Maksim Yevmenkin <maksim.yevmenkin_at_savvis.net>
Date: Wed, 05 Jan 2005 13:43:57 -0800
Scott Long wrote:
> 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) _at_ 
>>> /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?
> 
> 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.

i can not think of any API/ABI implications for RELENG_5. i will double 
check anyway. if i will find anything, i will let you guys know.

i will wait for Julian and Roman to give me green light and then i will 
commit it to -current.

thanks,
max



> 
> Scott
Received on Wed Jan 05 2005 - 20:44:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:25 UTC