23#ifndef INCLUDED_ALLOCATORS_OVERRUN_PROTECTOR
24#define INCLUDED_ALLOCATORS_OVERRUN_PROTECTOR
57#if CONFIG2_ALLOCATORS_OVERRUN_PROTECTION
69#if CONFIG2_ALLOCATORS_OVERRUN_PROTECTION
85#if CONFIG2_ALLOCATORS_OVERRUN_PROTECTION
93#if CONFIG2_ALLOCATORS_OVERRUN_PROTECTION
OverrunProtector wraps an arbitrary object in isolated page(s) and can detect inadvertent writes to i...
Definition: overrun_protector.h:53
~OverrunProtector()
Definition: overrun_protector.h:66
OverrunProtector()
Definition: overrun_protector.h:56
T *const object
Definition: overrun_protector.h:98
void lock() const
Definition: overrun_protector.h:83
void unlock() const
Definition: overrun_protector.h:91
NONCOPYABLE(OverrunProtector)
T * get() const
Definition: overrun_protector.h:77
void Free(void *p, size_t size)
decommit memory and release address space.
Definition: uvm.cpp:113
void * Allocate(size_t size, PageType pageType, int prot)
reserve address space and commit memory.
Definition: uvm.cpp:98
bool Protect(uintptr_t address, size_t size, int prot)
set the memory protection flags for all pages that intersect the given interval.
Definition: uvm.cpp:86
#define T(string_literal)
Definition: secure_crt.cpp:77
#define PROT_READ
Definition: wmman.h:32
#define PROT_WRITE
Definition: wmman.h:33
#define PROT_NONE
Definition: wmman.h:31