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