Commit graph

  • 934ab4cb59 explain extended size classes impact on quarantine Daniel Micay 2019-07-05 17:57:41 -04:00
  • 060f74b993 extended size classes now go up to 128k not 64k Daniel Micay 2019-07-05 17:55:25 -04:00
  • 4d4277319a clarifications to randomization documentation Daniel Micay 2019-06-23 19:20:16 -04:00
  • a579257a26 update libdivide to 1.1 Daniel Micay 2019-06-23 00:37:45 -04:00
  • 0b164190ab temporary workarounds for Pixel 3 PQ3B.190705.003.2019.07.01.21 PQ3B.190605.006.2019.06.23.05 PQ3A.190705.003.2019.07.01.21 PQ3A.190705.001.2019.07.01.21 PQ3A.190605.003.2019.06.23.05 Daniel Micay 2019-01-01 14:45:27 -05:00
  • bb65d088dc drop default class region size to 32GiB Daniel Micay 2019-06-19 01:00:22 -04:00
  • 706c1970b5 add GitHub funding metadata Daniel Micay 2019-06-18 22:54:49 -04:00
  • dba11c0091 fix warning with glibc from cfree Daniel Micay 2019-06-18 22:50:10 -04:00
  • 539d4f0d37 add extended size classes to offset test Daniel Micay 2019-06-18 15:51:13 -04:00
  • bc75c4db7b realloc: use copy_size to check for canaries Daniel Micay 2019-06-17 00:23:03 -04:00
  • 16204f49ac temporary workarounds for Pixel 3 PQ3B.190605.006.2019.06.14.02 PQ3A.190605.003.2019.06.14.02 Daniel Micay 2019-01-01 14:45:27 -05:00
  • 37474e117c limit precision for fragmentation in table Daniel Micay 2019-06-12 13:28:03 -04:00
  • 12525f2861 work around old glibc releases without threads.h Daniel Micay 2019-06-06 08:10:57 -04:00
  • 5449f4a94e use safe_flag for -fno-plt Daniel Micay 2019-06-06 07:32:52 -04:00
  • 7c4233a1fd temporary workarounds for Pixel 3 PQ3A.190605.003.2019.06.03.18 Daniel Micay 2019-01-01 14:45:27 -05:00
  • 64a1f59020 note about getrandom with syscall whitelists Daniel Micay 2019-06-01 04:06:43 -04:00
  • 99bd5083fd temporary workaround for citadel PQ3A.190505.002.2019.05.18.20 PQ3A.190505.001.2019.05.18.20 Daniel Micay 2019-05-17 14:03:48 -04:00
  • 94c9baeb22 temporary workaround for Pixel 3 camera UAF PQ3A.190505.002.2019.05.08.15 PQ3A.190505.002.2019.05.07.00 PQ3A.190505.001.2019.05.08.15 PQ3A.190505.001.2019.05.07.00 Daniel Micay 2019-01-01 14:45:27 -05:00
  • b40ba9754b add malloc_info test Daniel Micay 2019-04-30 16:54:58 -04:00
  • f6f4402ff3 expand test gitignore Daniel Micay 2019-04-30 16:52:38 -04:00
  • 2ae0ed4674 add large array growth test Daniel Micay 2019-04-30 16:47:06 -04:00
  • ae4142c2d1 note that arenas are isolated from each other Daniel Micay 2019-04-23 02:01:44 -04:00
  • 18f36c3e8d expand description of randomized delay free Daniel Micay 2019-04-23 01:59:31 -04:00
  • 7f0bbddfca merge points about out-of-line / protected state Daniel Micay 2019-04-23 01:58:37 -04:00
  • 409a639312 provide working malloc_info outside Android too Daniel Micay 2019-04-19 16:54:43 -04:00
  • 494436c904 implement options handling for malloc_info Daniel Micay 2019-04-19 16:23:14 -04:00
  • 13ee04c8c3 fill CSPRNG caches lazily to speed up early init Daniel Micay 2019-04-15 07:11:39 -04:00
  • a13db3fc68 initialize size class CSPRNGs from init CSPRNG Daniel Micay 2019-04-15 06:29:57 -04:00
  • c7e2cb82f4 add generic get_random_bytes function Daniel Micay 2019-04-15 04:52:18 -04:00
  • f115be8392 shrink initial region table size to fit in 1 page Daniel Micay 2019-04-15 00:04:00 -04:00
  • e7eeb3f35c avoid reading thread_local more than once Daniel Micay 2019-04-14 19:57:22 -04:00
  • 7e465c621e use allocate_large directly in large remap path Daniel Micay 2019-04-14 19:46:22 -04:00
  • 1c899657c1 add is_init check to mallinfo functions Daniel Micay 2019-04-14 19:12:38 -04:00
  • 8774065b13 fix non-init size for malloc_object_size extension Daniel Micay 2019-04-14 19:01:25 -04:00
  • 84a25ec83e fix build with CONFIG_STATS enabled Daniel Micay 2019-04-11 00:49:45 -04:00
  • 34b6754f70 enable CONFIG_STATS by default for Android Daniel Micay 2019-04-10 17:12:17 -04:00
  • d4b8fee1c4 allow using the largest slab allocation size Daniel Micay 2019-04-10 16:54:11 -04:00
  • 086eb1fee4 at a final spacing class of 1 slot size classes Daniel Micay 2019-04-10 16:32:24 -04:00
  • 7a89a7b8c5 support for slabs with 1 slot for largest sizes Daniel Micay 2019-04-10 16:26:39 -04:00
  • b31e8dacb1 document extended size classes Daniel Micay 2019-04-10 08:42:32 -04:00
  • 6c31f6710a support extended range of small size classes Daniel Micay 2018-09-16 13:26:59 -04:00
  • 1b34fd4a69 enable 4 arenas by default Daniel Micay 2019-04-10 08:12:59 -04:00
  • d5f18c47b3 micro-optimize initialization with arenas Daniel Micay 2019-04-10 08:06:56 -04:00
  • 62c73d8b41 harden thread_arena check Daniel Micay 2019-04-10 07:40:29 -04:00
  • d5c00b4d0d disable current in-place growth code path for now Daniel Micay 2019-04-09 19:15:43 -04:00
  • d5c1bca915 use round-robin assignment to arenas Daniel Micay 2019-04-09 16:36:01 -04:00
  • 9a0de626fc move stats accounting to utility functions Daniel Micay 2019-04-09 03:57:44 -04:00
  • 02bfcc3b75 chacha: add constant for number of rounds Daniel Micay 2019-04-09 01:29:25 -04:00
  • cef7368b3c disable unusable readability-magic-numbers lint Daniel Micay 2019-04-09 00:57:17 -04:00
  • 295bfbde94 disable bugprone-too-small-loop-variable lint Daniel Micay 2019-04-09 00:43:00 -04:00
  • 8b2b9d940a chacha: use C99 variable declaration style Daniel Micay 2019-04-09 00:15:41 -04:00
  • 9453332e57 remove redundant else block Daniel Micay 2019-04-09 00:06:17 -04:00
  • 922c741915 it already supports Bionic, musl and glibc Daniel Micay 2019-04-07 18:13:26 -04:00
  • a4cff7a960 factor out slab memory_set_name into label_slab Daniel Micay 2019-04-07 18:02:56 -04:00
  • ef90f404a6 add sanity check for stats option Daniel Micay 2019-04-07 09:06:03 -04:00
  • e0891c8cfc implement the option of large size classes Daniel Micay 2019-04-07 08:04:06 -04:00
  • 7a7126e780 add infrastructure for a larger guard size option Daniel Micay 2019-04-07 06:05:11 -04:00
  • c68de6141d factor out duplicated code in malloc/realloc Daniel Micay 2019-04-07 05:48:10 -04:00
  • ce36d0c826 split out allocate_large function Daniel Micay 2019-04-07 05:30:07 -04:00
  • 3d18fb8074 implement Android M_PURGE mallopt via malloc_trim Daniel Micay 2019-04-07 03:35:26 -04:00
  • 4f08e40fe5 move thread sealing implementation Daniel Micay 2019-04-07 00:50:26 -04:00
  • 55891357ff clean up the exported API section of the code Daniel Micay 2019-04-07 00:36:53 -04:00
  • 0651c819e3 clarify hardened_malloc extensions section Daniel Micay 2019-04-07 00:34:13 -04:00
  • 491ce6b0b1 no need to provide valloc and pvalloc on Android Daniel Micay 2019-04-07 00:30:47 -04:00
  • 1eed432b9a limit more glibc cruft to that environment Daniel Micay 2019-04-07 00:24:23 -04:00
  • ec8fb347ed document CONFIG_STATS Daniel Micay 2019-04-07 00:10:22 -04:00
  • beaa39a5a3 move to only supporting current generation AOSP Daniel Micay 2019-04-06 23:45:31 -04:00
  • 27a4c883ce extend stats with nmalloc and ndalloc Daniel Micay 2019-04-06 23:06:47 -04:00
  • e94fe50a0d include zero byte size class in stats Daniel Micay 2019-04-06 22:43:56 -04:00
  • 712748aaa8 add implementation of Android mallinfo extensions Daniel Micay 2019-04-06 22:21:11 -04:00
  • 0f107cd2a3 only provide malloc_info stub for glibc Daniel Micay 2019-04-06 22:01:12 -04:00
  • 350d0e5fd2 add real mallinfo implementation for Android Daniel Micay 2019-04-06 20:49:52 -04:00
  • 3c012a69c4 temporary workaround for Pixel 3 camera UAF PQ2A.190405.003.2019.04.01.19 Daniel Micay 2019-01-01 14:45:27 -05:00
  • 7acebaa837 overhaul glibc compatibility workarounds Daniel Micay 2019-03-26 01:45:15 -04:00
  • df9650fe64 conditionally include threads.h Daniel Micay 2019-03-26 01:28:27 -04:00
  • 98deb9de52 relabel malloc read-only after init data Daniel Micay 2019-03-25 20:34:10 -04:00
  • fc8f2c3b60 move pthread_atfork wrapper to util header Daniel Micay 2019-03-25 16:38:16 -04:00
  • b5187a0aff only use __register_atfork hack for old glibc Daniel Micay 2019-03-25 16:37:34 -04:00
  • 494cc5ec50 update README now that arenas are implemented Daniel Micay 2019-03-25 16:14:54 -04:00
  • c5e911419d add initial implementation of arenas Daniel Micay 2019-03-25 14:49:50 -04:00
  • 55769496dc move hash_page to pages.h Daniel Micay 2019-03-25 14:54:22 -04:00
  • 13de480bde rename quarantine bitmap field for clarity Daniel Micay 2019-03-24 20:24:40 -04:00
  • 3d142eb4c2 relabel large allocation guards when shrinking Daniel Micay 2019-03-23 23:01:12 -04:00
  • 64dfd23f7b relabel purged slabs Daniel Micay 2019-03-23 22:59:59 -04:00
  • 178ec6e3f9 relabel quarantined large allocation regions Daniel Micay 2019-03-23 22:57:19 -04:00
  • 6e67106882 label malloc slab region gaps Daniel Micay 2019-03-23 22:54:21 -04:00
  • 1d62075291 label allocate_aligned_pages mappings Daniel Micay 2019-03-23 22:29:04 -04:00
  • c8b948e202 enable C++17 support when available Daniel Micay 2019-03-23 19:46:54 -04:00
  • a0ee5f445b remove redundant extern "C" block Daniel Micay 2019-03-23 13:41:12 -04:00
  • 45337ebe07 label allocate_pages mappings Daniel Micay 2019-03-22 23:17:26 -04:00
  • 65311a5df2 relabel region table mapping Daniel Micay 2019-03-20 15:18:34 -04:00
  • e4120913d6 only enable LABEL_MEMORY in debug builds Daniel Micay 2019-03-20 14:11:06 -04:00
  • 87acbcdf23 replace C++17 aligned allocation functions Daniel Micay 2019-03-20 13:18:27 -04:00
  • ddd616aa0b add documentation on system calls Daniel Micay 2019-03-20 11:56:32 -04:00
  • 4a000d96e2 pkey state is now preserved on fork for Linux 5.0+ Daniel Micay 2019-03-20 10:55:29 -04:00
  • 8dc8aa12fa temporary workaround for Pixel 3 camera UAF PQ2A.190305.002.2019.03.05.03 Daniel Micay 2019-01-01 14:45:27 -05:00
  • c9df70d934 add support for labelling memory regions Daniel Micay 2018-12-11 12:37:37 -05:00
  • ae96835b94 fix scalability header levels Daniel Micay 2019-02-04 15:59:14 -05:00
  • e4061899aa add documentation on scalability design choices Daniel Micay 2019-02-04 15:01:15 -05:00
  • 41df5005e8 add a top-level header to the README Daniel Micay 2019-02-04 13:59:19 -05:00