KASSERT(9)

NAME
KASSERT - kernel expression verification macro

SYNOPSIS
options INVARIANTS

#include <sys/param.h>
#include <sys/systm.h>
KASSERT(expression, msg);

DESCRIPTION
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"));
    	...
    }

SEE ALSO
config(8), panic(9)

AUTHORS
This manual page was written by Jonathan M. Bresler <jmb@FreeBSD.org>.