KASSERT(9) MidnightBSD Kernel Developer’s Manual 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〉.

MidnightBSD 0.3 January 14, 2000 MidnightBSD 0.3