Commit Graph

122 Commits

Author SHA1 Message Date
Daniel Micay
c5e911419d add initial implementation of arenas 2019-03-25 14:59:50 -04:00
Daniel Micay
ddd616aa0b add documentation on system calls 2019-03-20 11:59:58 -04: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
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
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
830a7d338d make class_region_size configurable 2018-12-05 09:38:13 -05:00
Daniel Micay
11fe467b7c clarify wording 2018-11-19 08:04:37 -05:00
Daniel Micay
c9dfe586b3 add initial documentation on API extensions 2018-11-19 06:54:48 -05:00
Daniel Micay
4d85a61db2 remove obsolete duplicate information 2018-11-19 06:31:58 -05:00
Daniel Micay
d88a8c9813 mention that the same hash table code is reused 2018-11-19 05:45:34 -05:00
Daniel Micay
433b37b4a9 explain more of the size class reasoning 2018-11-19 01:44:46 -05:00
Daniel Micay
a052be762d explain some differences from the previous project 2018-11-19 01:08:53 -05:00
Daniel Micay
a5ed64d01a explain slot counts tied to slab size classes 2018-11-19 00:29:18 -05:00
Daniel Micay
5b048a28c2 improve explanation of jemalloc size classes 2018-11-19 00:29:15 -05:00
Daniel Micay
ac99282773 remove duplicate word 2018-11-17 10:53:04 -05:00
Daniel Micay
54a0313d9b split out dependencies section 2018-11-16 18:41:27 -05:00
Daniel Micay
d208d093a2 add more of an introduction describing the project 2018-11-16 18:39:19 -05:00
Daniel Micay
2bb568b473 improve documentation about mapping count 2018-11-16 18:04:46 -05:00
Daniel Micay
8a38c4fb2a add initial documentation for integer options 2018-11-16 15:40:48 -05:00
Daniel Micay
f3623e1f2b finish migration away from config.h 2018-11-16 15:40:45 -05:00
Daniel Micay
315415acf2 clarify write-after-free detection feature 2018-11-16 03:26:07 -05:00
Daniel Micay
11c717a7b9 update progress on randomization 2018-11-05 18:06:54 -05:00
Daniel Micay
2d892e58ad per-slab canary values are good enough for now 2018-11-05 18:05:56 -05:00
Daniel Micay
3a488c9a27 add initial slab allocation quarantine 2018-11-05 16:43:08 -05:00
Daniel Micay
ca465f6b3e clarify scope of sized dealloc mismatch detection 2018-11-04 18:52:01 -05:00
Daniel Micay
1fed72a9c3 slab internal fragmentation is always the same 2018-11-04 03:59:54 -05:00
Daniel Micay
c12d6795de expand a bit on future config for slab cache size 2018-11-03 04:47:45 -04:00
Daniel Micay
d5b773b2bc clarify documentation about the 0 byte size class 2018-11-03 04:43:47 -04:00
Daniel Micay
f949698c7a note that MPK-based hardening is off by default 2018-11-03 03:15:42 -04:00
Daniel Micay
f2a7ccde75 add basic overview of part of the approach to MTE 2018-11-03 03:09:03 -04:00
Daniel Micay
1da51ddde1 migrate bool configuration options out of config.h 2018-11-02 21:35:09 -04:00
Daniel Micay
5bee717134 use -march=native by default with a disable toggle 2018-10-28 22:49:15 -04:00
Daniel Micay
6f30211da8 some clarifications for the README 2018-10-28 20:28:10 -04:00
Daniel Micay
e985afe0e1 document relatively high performance cost of MPK 2018-10-23 19:38:48 -04:00
Daniel Micay
0b963078d5 guard metadata with Memory Protection Keys (MPK) 2018-10-23 01:11:31 -04:00
Daniel Micay
64b655f062 set scope of planned metadata protection 2018-10-18 20:35:25 -04:00
Daniel Micay
e37b36c9dd update configuration documentation again 2018-10-18 20:18:55 -04:00
Daniel Micay
cf053e74d1 metadata region unification is completed 2018-10-18 16:10:49 -04:00
Daniel Micay
74139112d0 explain the purpose of CONFIG_CXX_ALLOCATOR 2018-10-18 14:57:33 -04:00
Daniel Micay
da8e9aa1d8 document allocator state region 2018-10-15 15:44:31 -04:00
Daniel Micay
e8eca2d430 explain the production-oriented design rationale 2018-10-15 04:07:20 -04:00
Daniel Micay
124d958da1 document free slabs quarantine 2018-10-14 22:19:10 -04:00
Daniel Micay
3504465584 document progress on protected allocator state 2018-10-14 22:15:48 -04:00
Daniel Micay
0a64c7d6a1 document the randomized array in the quarantine 2018-10-12 15:10:35 -04:00
Daniel Micay
2381d973b1 expand on metadata address space security 2018-10-10 18:55:31 -04:00
Daniel Micay
29fd86ab37 document sized deallocation validation 2018-10-10 18:49:17 -04:00
Daniel Micay
1a10c17e8b add quarantine for large allocations 2018-10-08 16:14:07 -04:00
Daniel Micay
cf07ae6007 update configuration in README 2018-10-06 15:38:09 -04:00
Daniel Micay
e6e9ac1fc9 support replacing C++ new/delete implementation
This adds support for sanity checks based on sized deallocation and will
reduce the overhead of calls through the C++ allocator.
2018-10-05 02:11:29 -04:00
Daniel Micay
08a633b244 fix another typo in the README 2018-10-04 04:12:21 -04:00
Daniel Micay
e99191d5d4 document tuning vm.max_map_count 2018-10-04 03:44:19 -04:00
Daniel Micay
d12cf324dd add documentation on testing 2018-10-04 03:27:30 -04:00
Daniel Micay
2a31c7291b add basic documentation on configuration 2018-10-04 03:15:55 -04:00
Daniel Micay
15e5e2d0ac fix typo in README 2018-10-03 17:23:20 -04:00
Daniel Micay
b24569b6ca zero leading byte of canaries 2018-10-03 17:09:57 -04:00
Daniel Micay
b52d9ca831 aggressive write-after-free check is implemented 2018-09-11 05:17:22 -04:00
Daniel Micay
3751b85e47 document minimum musl version for external use 2018-09-06 19:52:09 -04:00
Daniel Micay
1be74ec40d add initial guard slabs implementation 2018-09-06 18:55:24 -04:00
Daniel Micay
bf55fad6d0 document that slab canaries are implemented 2018-09-05 00:19:27 -04:00
Daniel Micay
2ec65306dd expand documentation on supported environments 2018-09-02 06:05:37 -04:00
Daniel Micay
e93d039214 only use reserved memory for regions hash table 2018-09-01 10:23:06 -04:00
Daniel Micay
dba330fde7 expand documentation in the README 2018-08-30 11:12:43 -04:00
Daniel Micay
b424c95737 clarify memory is zero on init without more writes 2018-08-27 01:14:36 -04:00
Daniel Micay
1b3d485e87 clarify that the slab design isn't like jemalloc 2018-08-26 07:19:58 -04:00
Daniel Micay
c97bbc141c add missing word 2018-08-26 07:11:22 -04:00
Daniel Micay
f793a2719f add some basic initial documentation to the README 2018-08-26 06:39:33 -04:00
Daniel Micay
510291646b document minimum versions for dependencies 2018-08-24 19:30:36 -04:00