tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: apparently missing locking in if_bnx.c



I can get a kernel to boot with the recommended KASSERTs, but as soon as I try 
to ssh into the machine, I get a panic on:

KASSERT(curcpu()->ci_biglock_count > 0);

(This is in bnx.)

I will be trying our wm interfaces soon.

-Bev

On Mar 6, 2012, at 7:07 AM, Manuel Bouyer wrote:

> On Tue, Mar 06, 2012 at 01:01:09PM +0100, Manuel Bouyer wrote:
>> On Tue, Mar 06, 2012 at 06:53:42AM -0500, Beverly Schwartz wrote:
>>> I was using the tip of netbsd-6.  I can test it again to be sure.
>> 
>> You should add tests to make sure that:
>> - bnx_start() is always called at splnet():
>>  KASSERT(curcpu()->ci_level >= IPL_NET);
>> - bnx_start() is always called with KERNEL_LOCK held:
>>  KASSERT(ci->ci_biglock_count > 0);
> 
> make that:
>   KASSERT(curcpu()->ci_ilevel >= IPL_NET);
>   KASSERT(curcpu()->ci_biglock_count > 0);
> 
> -- 
> Manuel Bouyer <bouyer%antioche.eu.org@localhost>
>     NetBSD: 26 ans d'experience feront toujours la difference
> --



Home | Main Index | Thread Index | Old Index