DOKK / manpages / debian 10 / freebsd-manpages / KASSERT.9freebsd.en
KASSERT(9) Kernel Developer's Manual KASSERT(9)

KASSERTkernel expression verification macro

options INVARIANTS


#include <sys/param.h>
#include <sys/systm.h>

KASSERT(expression, msg);

In a kernel compiled with options INVARIANTS, the () 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 () macro is defined to be a no-op. The second argument is a printf(9) format string and its arguments, enclosed in parentheses.

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

config(8), panic(9)

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

January 14, 2000 Debian