hardened_malloc
hardened_malloc copied to clipboard
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...
This header exists only in GCC's `libstdc++`. If we are building on a system using exclusively LLVM's `libc++`, compilation will fail. Add an option to the config files to control...
Also use strict prototype
I build an rpm package ([source](https://github.com/rusty-snake/fedora-extras/tree/main/hardened_malloc)) for hardened_malloc to installed it via dnf so dependencies/uninstalling are less likely to make trouble. However after I upgraded to Fedora 36 hardened_malloc fails...
See https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html for details.
Generating the tags is going to require careful thought. Adjacent allocations should be guaranteed to have different tags, which could be approached by dedicating a bit to whether the slot...
(generic issue to track macOS arm64 support) It's unclear at the moment what macOS _x86_ (Intel) does at the moment regarding some OS things like page sizes. Output of `clang...
Because hardened_malloc is written in C (scary!) it would be nice to make use of [coverity]( https://scan.coverity.com/ ), if only to be on the safe side™. I would gladly do...
``` ~/hardened_malloc$ make clean VARIANT=light rm -f out-light/libhardened_malloc.so out-light/chacha.o out-light/h_malloc.o out-light/memory.o out-light/pages.o out-light/random.o out-light/util.o out-light/new.o make -C test/ clean make[1]: Entering directory '/home/user/hardened_malloc/test' Makefile:5: *** testing non-default variants not yet...
PDEP allows selecting the nth unset bit efficiently (a couple cycles) so it's a fantastic way of implementing this. There's no clear way to do it at all efficiently elsewhere,...
As explained on [matrix](https://grapheneos.org/contact#community) by @thestinger : > bigger performance win for the default config would be somehow optimizing slab quarantines. I think there's probably some way to combine the...