allocators
linux Nimble Allocator
- https://dl.acm.org/doi/10.1145/3297858.3304024
- Heterogenous memory allocation across NVMe and RAM
Memory Management
- Lobster language - https://aardappel.github.io/lobster/memory_management.html
- two pointers are vital because they have a start pointer (beginning of the memory block) and end pointer (end of the block). When an allocation is done, the start pointer is moved forward, when memory is released, the start pointer is shifted backwards
Allocators
- Scudo
- Hoard Allocator
- jemalloc
- Dieharder
- Poseidon Allocator
- Allocator Aware Infrastructure
- Comparisons
Slab allocator
Misc
#+begin_src markdown
### More Papers * The Shadow over Android
Exploiting the jemalloc Memory Allocator: Owning Firefox’s Heap
Attacking the Webkit Heap
Windows 8 Heap Internals
Windows 10 Segment Heap Internals
Heap Layout Optimization for Exploitation
FreeGuard: A Faster Secure Heap Allocator
* Academic “fast & secure” heap allocator by the University of Texas (2017) * https://github.com/UTSASRG/FreeGuard
DieHarder: securing the heap
* Academic “security-focused” allocator by the University of Massachusetts (2010) * https://github.com/emeryberger/diehard
OpenBSD’s ottomalloc
* Said operating system’s default usermode allocator, robust by design
Intel C++ Compiler C++14 incorrect sized delete compiled code
* Discovered via the sized delete mismatch optional check * Envoy double-free/use-after-free * Discovered internally in L7 ILB * https://github.com/envoyproxy/envoy/pull/4244 * https://github.com/envoyproxy/envoy/pull/6136 #+end_src