kasserts behind invariants

John Baldwin jhb at freebsd.org
Mon Dec 23 19:43:50 UTC 2013


On Friday, December 13, 2013 4:50:25 pm Sean Bruno wrote:
> I guess this may have been argued before, but I don't see why we would
> want to hide specific things like:  sys/kern/subr_lock.c
> 
> /* Check for double-init and zero object. */
> KASSERT(!lock_initalized(lock), ("lock \"%s\" %p already initialized",
>         name, lock));
> 
> If I hadn't completely missed the fact that I had INVARIANTS activated,
> I'd never have found out why this vendor driver was being so completely
> stupid and crashing my machine.
> 
> If I find things like this that I want old KASSERT behavior on (panic if
> true) and I don't want to run INVARIANTS, is that possible?

KASSERT has never been enabled sans INVARIANTS.

-- 
John Baldwin


More information about the freebsd-current mailing list