Scroll to navigation

KASSERT(9) Kernel Developer's Manual KASSERT(9)

NAME

KASSERTkernel 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 () 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.

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>.

January 14, 2000 Debian