hardened_malloc

Hardened allocator designed for modern systems. It has integration into Android's Bionic libc and can be used externally with musl and glibc as a dynamic library for use on other Linux-based platforms. It will gain more portability / integration over time.
hardened_malloc logo

Hardened Malloc


Introduction

A hardened version of malloc that includes additional features such as statistics and system call whitelisting.


Dependencies

  • jemalloc
  • dalloc (0)
  • slab_allocated (4096)
  • allocated (32)

Statistics

  • Heap entries: arenas
  • nmalloc: 64-bit integer tracking allocation count, wrapping on overflow.
  • ndalloc: 64-bit integer tracking deallocation count, wrapping on overflow.
  • Size classes:
    • Bin index begins at 0, mapping to the 0 byte size class.
    • Large allocations are treated as one group.

System Calls

  • Intended for creating system call whitelists via seccomp-bpf.
  • Used by all build configurations:
    • futex
    • getrandom
    • mmap
    • mprotect
    • mremap
    • munmap
    • write
  • Additional system calls when CONFIG_SEAL_ METADATA=true is set:
    • pkey_alloc
    • pkey_mprotect
  • Additional system calls for Android builds with LABEL_MEMORY:
    • prctl

Note: This description only includes the markdown text and does not include any links or external references.





> Visit hardened_malloc Website <