memguard(9)

NAME

MemGuard - memory allocator for debugging purposes

SYNOPSIS

options DEBUG_MEMGUARD

DESCRIPTION

MemGuard is a simple and small replacement memory allocator
designed to
help detect tamper-after-free scenarios. These problems are
more and
more common and likely with multithreaded kernels where race
conditions
are more prevalent.
Currently, MemGuard can only take over malloc(), realloc()
and free() for
a particular malloc type. MemGuard takes over M_SUBPROC al
locations by
default.

FILES

src/sys/kern/kern_malloc.c File to replace the malloc
type in

EXAMPLES

The following steps are necessary to use MemGuard:

1. Put the DEBUG_MEMGUARD option into your kernel config.

2. Open src/sys/kern/kern_malloc.c in your favourite edi
tor. Look for
lines containing ``XXX CHANGEME!'' and replace M_SUB
PROC with the
appropriate malloc type. This might require additional
but
small/simple code modifications (e.g., if the malloc
type is
declared out of scope).
3. Build and install your kernel. Tune the
vm.memguard_divisor boot
time tunable, which is used to scale how much of
kmem_map you want
to allot for MemGuard. The default is 10, so
kmem_size/10 bytes
will be used. The kmem_size value can be obtained via
the
vm.kmem_size sysctl(8) variable.

SEE ALSO

sysctl(8), vmstat(8), contigmalloc(9), malloc(9)

HISTORY

MemGuard first appeared in FreeBSD 6.0.

AUTHORS

MemGuard was written by Bosko Milekic <bmilekic@FreeB
SD.org>. This manual page was written by Christian Brueffer <brueffer@FreeB
SD.org>.

BUGS

Currently, it is not possible to override UMA zone(9) allo
cations.
BSD February 22, 2005
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout