Commit Graph

319 Commits

Author SHA1 Message Date
Daniel Micay
0f107cd2a3 only provide malloc_info stub for glibc
This has a proper implementation in Bionic outside of the malloc
implementation via the extended mallinfo API.
2019-04-06 22:01:12 -04:00
Daniel Micay
350d0e5fd2 add real mallinfo implementation for Android
Android Q uses the mallinfo implementation in the ART GC:

c220f98180
1575267302
2019-04-06 20:54:26 -04:00
Daniel Micay
7acebaa837 overhaul glibc compatibility workarounds 2019-03-26 01:45:57 -04:00
Daniel Micay
df9650fe64 conditionally include threads.h 2019-03-26 01:28:27 -04:00
Daniel Micay
98deb9de52 relabel malloc read-only after init data 2019-03-25 20:34:10 -04:00
Daniel Micay
fc8f2c3b60 move pthread_atfork wrapper to util header 2019-03-25 17:16:52 -04:00
Daniel Micay
b5187a0aff only use __register_atfork hack for old glibc 2019-03-25 17:16:22 -04:00
Daniel Micay
494cc5ec50 update README now that arenas are implemented 2019-03-25 16:18:01 -04:00
Daniel Micay
c5e911419d add initial implementation of arenas 2019-03-25 14:59:50 -04:00
Daniel Micay
55769496dc move hash_page to pages.h 2019-03-25 14:54:22 -04:00
Daniel Micay
13de480bde rename quarantine bitmap field for clarity 2019-03-24 20:24:40 -04:00
Daniel Micay
3d142eb4c2 relabel large allocation guards when shrinking 2019-03-23 23:01:12 -04:00
Daniel Micay
64dfd23f7b relabel purged slabs 2019-03-23 22:59:59 -04:00
Daniel Micay
178ec6e3f9 relabel quarantined large allocation regions 2019-03-23 22:57:19 -04:00
Daniel Micay
6e67106882 label malloc slab region gaps 2019-03-23 22:54:56 -04:00
Daniel Micay
1d62075291 label allocate_aligned_pages mappings 2019-03-23 22:29:04 -04:00
Daniel Micay
c8b948e202 enable C++17 support when available 2019-03-23 19:46:54 -04:00
Daniel Micay
a0ee5f445b remove redundant extern "C" block 2019-03-23 13:41:12 -04:00
Daniel Micay
45337ebe07 label allocate_pages mappings 2019-03-22 23:17:38 -04:00
Daniel Micay
65311a5df2 relabel region table mapping 2019-03-22 21:59:44 -04:00
Daniel Micay
e4120913d6 only enable LABEL_MEMORY in debug builds 2019-03-20 14:25:09 -04:00
Daniel Micay
87acbcdf23 replace C++17 aligned allocation functions 2019-03-20 13:19:13 -04:00
Daniel Micay
ddd616aa0b add documentation on system calls 2019-03-20 11:59:58 -04:00
Daniel Micay
4a000d96e2 pkey state is now preserved on fork for Linux 5.0+
This patch is going to be backported to stable kernels, so the check
could be expanded to allow recent enough stable kernel branches.
2019-03-20 11:05:31 -04:00
Daniel Micay
c9df70d934 add support for labelling memory regions 2019-02-13 13:34:33 -05:00
Daniel Micay
ae96835b94 fix scalability header levels 2019-02-04 15:59:14 -05:00
Daniel Micay
e4061899aa add documentation on scalability design choices 2019-02-04 15:01:15 -05:00
Daniel Micay
41df5005e8 add a top-level header to the README 2019-02-04 13:59:19 -05:00
Daniel Micay
9cc0ac3efa add basic documentation on memory tagging approach 2019-02-04 11:58:28 -05:00
Daniel Micay
9398805fd8 reference paper rather than fastrand for Python 2019-01-10 17:12:53 -05:00
Daniel Micay
2d7882ec0e remove redundant unseal / seal metadata 2019-01-08 17:01:56 -05:00
Daniel Micay
fa17f70a73 add more configuration sanity checks 2019-01-06 00:52:25 -05:00
Daniel Micay
33b1a2740e update default slab quarantine sizes in README 2019-01-02 15:42:41 -05:00
Arlo Breault
dea2788539 fix typo in README.md 2019-01-02 15:40:58 -05:00
Daniel Micay
8a474b647c enable both forms of slab quarantines by default 2019-01-02 14:59:19 -05:00
Daniel Micay
57f115b33c scale slab quarantine based on size 2019-01-02 14:52:13 -05:00
Daniel Micay
ccc2a86501 rename quarantine size -> length for clarity 2019-01-02 14:17:02 -05:00
Daniel Micay
bc2cb5c828 fix builds with both random and queue quarantine 2019-01-02 13:23:49 -05:00
Daniel Micay
5d3b299209 support random quarantine sizes other than 0 or 16 2019-01-02 13:04:40 -05:00
Daniel Micay
418cb1609c add RLIMIT_AS alternative to wishlist 2018-12-09 12:48:07 -05:00
Daniel Micay
2d88b90282 reorder Makefile CONFIG variables 2018-12-09 11:03:12 -05:00
Daniel Micay
4dc3385bc0 fix calloc for nmemb == 0 and !ZERO_ON_FREE 2018-12-09 10:59:21 -05:00
Daniel Micay
8a863ae847 use conlyflags in Android.bp when appropriate 2018-12-06 12:04:42 -05:00
Daniel Micay
830a7d338d make class_region_size configurable 2018-12-05 09:38:13 -05:00
Daniel Micay
8b0450555f add initial Android build system support 2018-12-05 07:59:35 -05:00
Daniel Micay
a1e0d97864 add __BEGIN_DECLS / __END_DECLS 2018-12-05 07:59:35 -05:00
Daniel Micay
ced3b0e070 support Android malloc_usable_size 2018-12-05 07:59:35 -05:00
Daniel Micay
7917966eca avoid unnecessary GNU pointer arithmetic extension 2018-12-05 07:59:35 -05:00
Daniel Micay
7f781af929 explicitly include system malloc.h 2018-12-05 07:59:35 -05:00
Daniel Micay
79cf5cbeb4 disambiguate malloc.h 2018-12-05 07:59:35 -05:00