Re: netgraph(4) initialization order

From: Scott Long <scottl_at_freebsd.org>
Date: Wed, 05 Jan 2005 14:34:40 -0700
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?
> 
> 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
Received on Wed Jan 05 2005 - 20:34:53 UTC

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