KASSERT9
Kernel expression verification macro
Usage
options INVARIANTS
#include <sys/param.h>
#include <sys/systm.h>
KASSERT(expression, msg);
Overview
In a kernel compiled with options INVARIANTS, the KASSERT() macro tests the given expression and if it is false, calls the panic(9) function, terminating the running system.
In a kernel that does not have options INVARIANTS, the KASSERT() macro is defined to be a no-op. The second argument is a printf(9) format string and its arguments, enclosed in parentheses.
Examples
The kernel function vput() must not be called with a NULL pointer.
void
vput(vp)
struct vnode *vp;
{
struct proc *p = curproc;
KASSERT(vp != NULL, ("vput: null vp"));
...
}