diff options
author | mdf <mdf@FreeBSD.org> | 2010-08-11 22:10:37 +0000 |
---|---|---|
committer | mdf <mdf@FreeBSD.org> | 2010-08-11 22:10:37 +0000 |
commit | 0737955344e4f99aa4ecd858ef6e507e591db2a7 (patch) | |
tree | de9dacb02fad4c45fd9ea45f38dd4fedbb294977 /sys/vm/vm_extern.h | |
parent | d548943ae909fff2cc91f964186d557895e14bab (diff) | |
download | FreeBSD-src-0737955344e4f99aa4ecd858ef6e507e591db2a7.zip FreeBSD-src-0737955344e4f99aa4ecd858ef6e507e591db2a7.tar.gz |
Rework memguard(9) to reserve significantly more KVA to detect
use-after-free over a longer time. Also release the backing pages of
a guarded allocation at free(9) time to reduce the overhead of using
memguard(9). Allow setting and varying the malloc type at run-time.
Add knobs to allow:
- randomly guarding memory
- adding un-backed KVA guard pages to detect underflow and overflow
- a lower limit on the size of allocations that are guarded
Reviewed by: alc
Reviewed by: brueffer, Ulrich Spörlein <uqs spoerlein net> (man page)
Silence from: -arch
Approved by: zml (mentor)
MFC after: 1 month
Diffstat (limited to 'sys/vm/vm_extern.h')
-rw-r--r-- | sys/vm/vm_extern.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index ca6d49c..8a0a400 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -53,6 +53,7 @@ void kmem_free(vm_map_t, vm_offset_t, vm_size_t); void kmem_free_wakeup(vm_map_t, vm_offset_t, vm_size_t); void kmem_init(vm_offset_t, vm_offset_t); vm_offset_t kmem_malloc(vm_map_t map, vm_size_t size, int flags); +int kmem_back(vm_map_t, vm_offset_t, vm_size_t, int); vm_map_t kmem_suballoc(vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, boolean_t); void swapout_procs(int); |