Commit Graph

  • 2381d973b1 expand on metadata address space security Daniel Micay 2018-10-10 18:55:31 -0400
  • 29fd86ab37 document sized deallocation validation Daniel Micay 2018-10-10 18:48:45 -0400
  • c74fe56091 minor include style fix Daniel Micay 2018-10-10 18:19:56 -0400
  • ddcdd9423c make the memory mapping quarantine more efficient Daniel Micay 2018-10-09 14:08:36 -0400
  • 57d5ab769b add write-after-free tests with potential reuse Daniel Micay 2018-10-08 17:41:06 -0400
  • 5fa6e01929 clearer name for MREMAP_MAYMOVE threshold Daniel Micay 2018-10-08 17:09:57 -0400
  • 1a10c17e8b add quarantine for large allocations Daniel Micay 2018-10-08 15:50:31 -0400
  • cc9699f1b4 use multi-word bitmap to support up to 256 slots Daniel Micay 2018-10-07 13:34:52 -0400
  • 5e2f03296e remove old debugging code Daniel Micay 2018-10-07 16:18:17 -0400
  • fa2796a941 Makefile: add missing dependencies Daniel Micay 2018-10-07 11:28:50 -0400
  • cf07ae6007 update configuration in README Daniel Micay 2018-10-06 15:37:50 -0400
  • 348f9fa557 add configuration for frequency of guard slabs Daniel Micay 2018-10-06 15:36:03 -0400
  • 4ee12e64e0 configuration for guard region sizes Daniel Micay 2018-10-06 15:17:55 -0400
  • d18b05eaf4 avoid redundant checks for large realloc Daniel Micay 2018-10-06 13:31:16 -0400
  • eb7ced7781 implement in-place growth of large allocations Daniel Micay 2018-10-06 10:40:55 -0400
  • 3a936295f8 Makefile: split out shared compiler flags Daniel Micay 2018-10-05 02:45:40 -0400
  • 4716ff5b92 explicitly export C++ allocator overrides Daniel Micay 2018-10-05 02:22:17 -0400
  • e6e9ac1fc9 support replacing C++ new/delete implementation Daniel Micay 2018-09-19 13:57:35 -0400
  • 3dc49f8f73 slightly improve sized deallocation error messages Daniel Micay 2018-10-05 01:05:40 -0400
  • dcd969ae04 use a consistent style for fixed-size int types Daniel Micay 2018-10-04 14:25:16 -0400
  • 92a33182fb port chacha.h to the code style used elsewhere Daniel Micay 2018-10-04 04:13:28 -0400
  • 08a633b244 fix another typo in the README Daniel Micay 2018-10-04 04:12:21 -0400
  • ef32a4b7ea add -pipe to CFLAGS Daniel Micay 2018-10-04 04:03:48 -0400
  • e99191d5d4 document tuning vm.max_map_count Daniel Micay 2018-10-04 03:44:19 -0400
  • d12cf324dd add documentation on testing Daniel Micay 2018-10-04 03:27:30 -0400
  • 2a31c7291b add basic documentation on configuration Daniel Micay 2018-10-04 03:15:55 -0400
  • 642eed81c0 allow using larger guards on large allocations Daniel Micay 2018-10-04 02:57:15 -0400
  • 9b7691a2a7 take canaries into account for the offset test Daniel Micay 2018-10-04 02:52:20 -0400
  • 71d52d981e fix output of size class offset test Daniel Micay 2018-10-04 02:40:51 -0400
  • 15e5e2d0ac fix typo in README Daniel Micay 2018-10-03 17:23:20 -0400
  • 5811bd184c avoid unnecessary preprocessor use for canary mask Daniel Micay 2018-10-03 17:17:20 -0400
  • 93fcc6a978 add simple string overflow test Daniel Micay 2018-10-03 17:15:38 -0400
  • b24569b6ca zero leading byte of canaries Daniel Micay 2018-10-03 17:09:57 -0400
  • 1fbf0e27f5 make error reporting more robust Daniel Micay 2018-10-03 16:55:25 -0400
  • 6dfe33b4f1 add prefix to reported errors Daniel Micay 2018-10-03 16:22:28 -0400
  • 6372fee410 use consistent macro naming convention Daniel Micay 2018-10-03 16:00:11 -0400
  • 829ace403f document free_sized API Daniel Micay 2018-10-03 14:37:05 -0400
  • c3a580727a add MIT license Daniel Micay 2018-10-03 13:18:51 -0400
  • cf449b3df4 add sized deallocation support Daniel Micay 2018-09-18 17:28:52 -0400
  • 82314f4471 make get_size_info straightforward for zero size Daniel Micay 2018-09-11 14:51:36 -0400
  • 7a404ddbf2 optimize size calculation for 16 byte spaced sizes Daniel Micay 2018-09-11 14:44:15 -0400
  • 2d6ad18aa4 make function naming a bit more consistent Daniel Micay 2018-09-11 14:18:13 -0400
  • 684291bf6a avoid overhead of init check for slab deallocation Daniel Micay 2018-09-11 14:13:18 -0400
  • ef098fea06 simplify init function Daniel Micay 2018-09-11 14:12:27 -0400
  • 433af6d4ba drop 128-bit keys from ChaCha implementation Daniel Micay 2018-09-11 10:22:28 -0400
  • b52d9ca831 aggressive write-after-free check is implemented Daniel Micay 2018-09-11 05:17:22 -0400
  • 61684925e8 fix overly naive slab allocation alignment support Daniel Micay 2018-09-10 17:42:58 -0400
  • 9a1acce5eb optimize calloc when zero on free is disabled Daniel Micay 2018-09-07 16:32:51 -0400
  • 8f921e30be add kernel feature wishlist Daniel Micay 2018-09-07 06:32:07 -0400
  • 7ae7abedea mark more unlikely code paths Daniel Micay 2018-09-07 02:53:15 -0400
  • 191f9667df add missing include Daniel Micay 2018-09-07 02:10:37 -0400
  • 49af83a817 wrap mutex type to enable future optimization Daniel Micay 2018-09-07 01:08:51 -0400
  • fc2473e7ee add configuration for canaries Daniel Micay 2018-09-07 00:35:08 -0400
  • 96c538d90f add configuration for zero on free Daniel Micay 2018-09-07 00:33:51 -0400
  • ba3a8b0058 add slot randomization to configuration header Daniel Micay 2018-09-07 00:25:02 -0400
  • bed303a76f remove unnecessary else branch Daniel Micay 2018-09-07 00:22:51 -0400
  • d398384b90 add header for configuration Daniel Micay 2018-09-07 00:17:22 -0400
  • 99d68238d2 implement slab allocation write-after-free check Daniel Micay 2018-09-07 00:00:32 -0400
  • 918f0d3302 improve write-after-free tests Daniel Micay 2018-09-06 23:48:47 -0400
  • 3751b85e47 document minimum musl version for external use Daniel Micay 2018-09-06 19:52:09 -0400
  • 684e63a878 handle pthread_atfork calling into malloc Daniel Micay 2018-09-06 19:43:18 -0400
  • 1be74ec40d add initial guard slabs implementation Daniel Micay 2018-09-06 18:53:06 -0400
  • cc1e79fdba abstract metadata allocation to allow guard slabs Daniel Micay 2018-09-06 18:41:00 -0400
  • d8e18e0011 aligned_alloc is now the same as BSD memalign Daniel Micay 2018-09-06 16:30:22 -0400
  • 0d3c2e1988 no need for a dedicated init rng Daniel Micay 2018-09-06 16:02:15 -0400
  • 8624201f06 refresh canary value when allocating free slabs Daniel Micay 2018-09-06 15:07:01 -0400
  • a875951e82 fix build with musl Daniel Micay 2018-09-06 14:35:08 -0400
  • e891b40588 implement Android malloc_disable/malloc_enable API Daniel Micay 2018-09-06 14:17:06 -0400
  • 3a532b17dc implement in-place shrinking for large allocations Daniel Micay 2018-09-05 05:17:40 -0400
  • 645209dcbf remove unnecessary debugging code Daniel Micay 2018-09-05 03:41:56 -0400
  • bf55fad6d0 document that slab canaries are implemented Daniel Micay 2018-09-05 00:19:27 -0400
  • 9ddd53d56c implement initial slab allocation canaries Daniel Micay 2018-09-02 08:36:48 -0400
  • 5017500a47 add simple overflow tests Daniel Micay 2018-09-04 09:06:23 -0400
  • 1a7b8079d0 reuse is_init when possible Daniel Micay 2018-09-02 19:58:57 -0400
  • 7733047c7b trigger early initialization in a conservative way Daniel Micay 2018-09-02 19:41:26 -0400
  • 2ec65306dd expand documentation on supported environments Daniel Micay 2018-09-02 06:05:37 -0400
  • 8bb686e697 add missing prefix defines Daniel Micay 2018-09-02 05:24:25 -0400
  • 9c74a67068 malloc_get_state/malloc_set_state are obsolete too Daniel Micay 2018-09-02 05:13:07 -0400
  • 7e088dc870 add stubs for Android extensions Daniel Micay 2018-09-02 05:08:45 -0400
  • 2dd2471b4a enable more linker sanity checks Daniel Micay 2018-09-02 02:27:49 -0400
  • 39e81bd486 using -lpthread for linking isn't necessary Daniel Micay 2018-09-02 02:12:45 -0400
  • 89c624b755 mark page management error code paths as unlikely Daniel Micay 2018-09-02 02:08:44 -0400
  • e4648192c0 split out code for managing page spans Daniel Micay 2018-09-02 02:03:27 -0400
  • e93d039214 only use reserved memory for regions hash table Daniel Micay 2018-09-01 10:20:23 -0400
  • c3a4829d77 remove unnecessary special case from realloc Daniel Micay 2018-09-01 02:38:00 -0400
  • f441dfe2e3 align size class metadata to cacheline size Daniel Micay 2018-08-31 23:10:26 -0400
  • fad10ce943 use FIFO queue for free slabs Daniel Micay 2018-08-31 22:42:34 -0400
  • dba330fde7 expand documentation in the README Daniel Micay 2018-08-30 11:07:20 -0400
  • 3f80895822 ignore pad argument to malloc_trim per glibc Daniel Micay 2018-08-30 09:29:15 -0400
  • af393afc09 make preload script for testing a bit more robust Daniel Micay 2018-08-30 09:08:33 -0400
  • 1ea997b887 add missing headers to malloc.h Daniel Micay 2018-08-30 08:48:09 -0400
  • 2b0f7aa985 use a consistent name for size class integer index Daniel Micay 2018-08-30 07:13:18 -0400
  • 0f5f2bf6c9 add basic initial heuristic for freeing slabs Daniel Micay 2018-08-30 06:44:58 -0400
  • 456dfe4154 add support for purging and protecting empty slabs Daniel Micay 2018-08-30 05:18:38 -0400
  • bb176e09bc remove useless code in the empty_slabs path Daniel Micay 2018-08-30 05:42:45 -0400
  • 29df2429c2 empty_slabs will remain a singly-linked list Daniel Micay 2018-08-30 05:27:16 -0400
  • f94068ea63 rename free_slabs to empty_slabs Daniel Micay 2018-08-30 04:55:39 -0400
  • b6d4af872f move libdivide.h to third_party/libdivide.h Daniel Micay 2018-08-30 03:03:19 -0400
  • 99fcddc223 use much faster get_random_{type}_uniform approach Daniel Micay 2018-08-30 01:16:58 -0400
  • 1c181557c7 add -fno-plt as an optimization Daniel Micay 2018-08-29 15:20:56 -0400