mirror of
https://github.com/GrapheneOS/hardened_malloc.git
synced 2025-04-20 06:20:20 +02:00
2484 lines
75 KiB
Text
2484 lines
75 KiB
Text
commit f7d78bba9c706b339ac8c9b46288d1703cd86482
|
|
Author: Patrick Schleizer <adrelanos@riseup.net>
|
|
Date: Sun Jul 21 01:25:40 2019 +0000
|
|
|
|
/usr/lib/libhardened_malloc.so.1 instead of /usr/lib/libhardened_malloc.so
|
|
|
|
commit e2bba96033bf52ac4f770ab21758e6811378a830
|
|
Author: Patrick Schleizer <adrelanos@riseup.net>
|
|
Date: Sun Jul 21 00:24:30 2019 +0000
|
|
|
|
fix changelog
|
|
|
|
commit 8cd51ca1387d499f3e37657d0429206c578a5a7e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Jul 19 11:23:44 2019 -0400
|
|
|
|
override local default to -fstack-protector-strong
|
|
|
|
This is a no-op on a toolchain compiled with the basic mitigations
|
|
enabled by default, so this is generally a no-op anywhere this project
|
|
is likely to be deployed. SSP has a very low performance cost so there's
|
|
little reason to avoid it, even though it also has zero value for this
|
|
code in practice. It would be great if one of the more modern approaches
|
|
was widely adopted, but unfortunately SSP is as good as it gets for
|
|
portable options. It doesn't provide any protection against external
|
|
writes to the stack data which is all that's really needed here.
|
|
|
|
ShadowCallStack is a great option for arm64, but it's substantially more
|
|
difficult to protect return addresses well on x86_64 due to the design of
|
|
the ISA and ABI.
|
|
|
|
commit e6ff9c7468734af72cf25109fc2dc834521c51c9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Jul 19 11:15:49 2019 -0400
|
|
|
|
use -fstack-clash-protection for completeness
|
|
|
|
This is a no-op for the current code and will likely remain that way so
|
|
there's no benefit but also no performance cost.
|
|
|
|
commit f3e201bac99a04ec920c68988807995077976ff3
|
|
Author: Patrick Schleizer <adrelanos@riseup.net>
|
|
Date: Sun Jul 21 00:20:45 2019 +0000
|
|
|
|
initial debian packaging
|
|
|
|
commit d80919fa1e8042a070a3f9b2560ff2ecac8a75da
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Jul 12 03:43:19 2019 -0400
|
|
|
|
substantially raise the arbitrary arena limit
|
|
|
|
commit 410e9efb93a8e30e080abf1a1c3fdd2247f8a64b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Jul 11 17:07:36 2019 -0400
|
|
|
|
extend configuration sanity checks
|
|
|
|
commit 7bcfa500beb3f2c6b0197e569287ce4386039f4c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Jul 11 15:50:32 2019 -0400
|
|
|
|
remove note about lack of sanity checks for config
|
|
|
|
commit 72a08f88fb05966fd90b24e924f76735f0890069
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jul 10 18:08:14 2019 -0400
|
|
|
|
supports Debian oldstable due to Buster release
|
|
|
|
commit a32e26b8e9987177ef7573594b2aab2104ca9d3f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Jul 5 21:59:44 2019 -0400
|
|
|
|
avoid trying to use mremap outside of Linux
|
|
|
|
commit 934ab4cb5917b02ce6709f74b7df3f38cf89ccb7
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Jul 5 17:57:41 2019 -0400
|
|
|
|
explain extended size classes impact on quarantine
|
|
|
|
commit 060f74b9932149cb648a4d8fa507145596646943
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Jul 5 17:55:25 2019 -0400
|
|
|
|
extended size classes now go up to 128k not 64k
|
|
|
|
commit 4d4277319a3d2a724ac00af23f35ec395a54e32d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Jun 23 19:20:16 2019 -0400
|
|
|
|
clarifications to randomization documentation
|
|
|
|
commit a579257a26204a4b224324b85fe57c6fde70e7f3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Jun 23 00:37:45 2019 -0400
|
|
|
|
update libdivide to 1.1
|
|
|
|
commit bb65d088dc5e35c146b47b4fc3bfd4cc7d870b86
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jun 19 01:00:22 2019 -0400
|
|
|
|
drop default class region size to 32GiB
|
|
|
|
commit 706c1970b502e23e7f5a63638bb57d9f68a5c2ae
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Jun 18 22:54:49 2019 -0400
|
|
|
|
add GitHub funding metadata
|
|
|
|
commit dba11c00915273dca718bf2004b3afc0316aed20
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Jun 18 22:50:10 2019 -0400
|
|
|
|
fix warning with glibc from cfree
|
|
|
|
commit 539d4f0d37eaea097e69a1ebe405d4bb991253f2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Jun 18 15:51:13 2019 -0400
|
|
|
|
add extended size classes to offset test
|
|
|
|
commit bc75c4db7bfa9ef095ec49d87b2f98f9f6d16198
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Jun 17 00:23:03 2019 -0400
|
|
|
|
realloc: use copy_size to check for canaries
|
|
|
|
This avoids unnecessarily copying the canary when doing a realloc from a
|
|
small size to a large size. It also avoids trying to copy a non-existent
|
|
canary out of a zero-size allocation, which are memory protected.
|
|
|
|
commit 37474e117c08a0c38dea53f603339b5914e9cd01
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jun 12 13:28:03 2019 -0400
|
|
|
|
limit precision for fragmentation in table
|
|
|
|
commit 12525f28618ef577ea931a1dc151cd19a462aa73
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Jun 6 08:10:57 2019 -0400
|
|
|
|
work around old glibc releases without threads.h
|
|
|
|
commit 5449f4a94edd86024ec3478e586da692c46f136a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Jun 6 07:32:52 2019 -0400
|
|
|
|
use safe_flag for -fno-plt
|
|
|
|
This isn't supported by the ancient Clang release in Debian Stable.
|
|
|
|
commit 64a1f590201a4cbe5dba8a119fc4570b7db0bc5b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Jun 1 04:06:43 2019 -0400
|
|
|
|
note about getrandom with syscall whitelists
|
|
|
|
commit b40ba9754b92508737d70364e7b39a7c7828edec
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 30 16:54:58 2019 -0400
|
|
|
|
add malloc_info test
|
|
|
|
commit f6f4402ff334204a666c84331662d9506de35793
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 30 16:52:38 2019 -0400
|
|
|
|
expand test gitignore
|
|
|
|
commit 2ae0ed4674bae395405233c31c748f67173610ac
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 30 16:47:06 2019 -0400
|
|
|
|
add large array growth test
|
|
|
|
commit ae4142c2d108b8362a23f80b40bd6997066054a8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 23 02:01:44 2019 -0400
|
|
|
|
note that arenas are isolated from each other
|
|
|
|
commit 18f36c3e8d3a24ad0ff349fef79cc24d842940e2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 23 01:59:31 2019 -0400
|
|
|
|
expand description of randomized delay free
|
|
|
|
commit 7f0bbddfcaf7aa6560e52db166059f684ff03a67
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 23 01:58:37 2019 -0400
|
|
|
|
merge points about out-of-line / protected state
|
|
|
|
commit 409a6393128a48764e2fec0d1056ddc0a608d0c5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Apr 19 16:54:43 2019 -0400
|
|
|
|
provide working malloc_info outside Android too
|
|
|
|
commit 494436c904b86193634de24e73d3b456a14e4f2d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Apr 19 16:23:14 2019 -0400
|
|
|
|
implement options handling for malloc_info
|
|
|
|
commit 13ee04c8c32ac810d3430c8e26baa5b591be3f62
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Apr 15 07:11:39 2019 -0400
|
|
|
|
fill CSPRNG caches lazily to speed up early init
|
|
|
|
commit a13db3fc686f093a781e137bd53f3b810fde4fce
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Apr 15 06:29:57 2019 -0400
|
|
|
|
initialize size class CSPRNGs from init CSPRNG
|
|
|
|
This avoids making a huge number of getrandom system calls during
|
|
initialization. The init CSPRNG is unmapped before initialization
|
|
finishes and these are still reseeded from the OS. The purpose of the
|
|
independent CSPRNGs is simply to avoid the massive performance hit of
|
|
synchronization and there's no harm in doing it this way.
|
|
|
|
Keeping around the init CSPRNG and reseeding from it would defeat the
|
|
purpose of reseeding, and it isn't a measurable performance issue since
|
|
it can just be tuned to reseed less often.
|
|
|
|
commit c7e2cb82f4dea13492715341261e20c7fd06def2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Apr 15 04:52:18 2019 -0400
|
|
|
|
add generic get_random_bytes function
|
|
|
|
commit f115be839276e0fc11ae53b392a51a504fca8096
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Apr 15 00:04:00 2019 -0400
|
|
|
|
shrink initial region table size to fit in 1 page
|
|
|
|
commit e7eeb3f35cc8a3aa4db326110e157bf9b789f5da
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 14 19:57:22 2019 -0400
|
|
|
|
avoid reading thread_local more than once
|
|
|
|
commit 7e465c621e92bbeabcc7b2cc8f894d1c7638160f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 14 19:46:22 2019 -0400
|
|
|
|
use allocate_large directly in large remap path
|
|
|
|
commit 1c899657c10b2564bc8e324cb1be54f8e907474c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 14 19:12:38 2019 -0400
|
|
|
|
add is_init check to mallinfo functions
|
|
|
|
commit 8774065b13d06b685547eced9ef76bfe9a29242d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 14 19:01:25 2019 -0400
|
|
|
|
fix non-init size for malloc_object_size extension
|
|
|
|
commit 84a25ec83e75ac18c2ede0e89c2748c16604f364
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Apr 11 00:49:45 2019 -0400
|
|
|
|
fix build with CONFIG_STATS enabled
|
|
|
|
commit 34b6754f7035f4bbc75a04a4bf8d294ef2b54998
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 17:12:17 2019 -0400
|
|
|
|
enable CONFIG_STATS by default for Android
|
|
|
|
The tiny performance cost might as well be accepted now because this
|
|
will be needed for Android Q. It's also quite possible that some apps
|
|
make use of the features based on this including malloc_info.
|
|
|
|
commit d4b8fee1c4fe910efd0ccf7e897ce88b5178ac79
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 16:54:11 2019 -0400
|
|
|
|
allow using the largest slab allocation size
|
|
|
|
commit 086eb1fee401d2bd4f9d65df92ace8b41cba4329
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 16:32:24 2019 -0400
|
|
|
|
at a final spacing class of 1 slot size classes
|
|
|
|
commit 7a89a7b8c5294060097372964e4dcd23e06c0207
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 16:26:39 2019 -0400
|
|
|
|
support for slabs with 1 slot for largest sizes
|
|
|
|
commit b31e8dacb1e5ef28425f2bfa87c35eb82db79719
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 08:42:32 2019 -0400
|
|
|
|
document extended size classes
|
|
|
|
commit 6c31f6710a8f9f710e454507d84d8f8dcce25bbc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 16 13:26:59 2018 -0400
|
|
|
|
support extended range of small size classes
|
|
|
|
commit 1b34fd4a69b706638d4582aa635f11e2b860aa32
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 08:12:59 2019 -0400
|
|
|
|
enable 4 arenas by default
|
|
|
|
commit d5f18c47b336d02c3bb0f8770078f3ee5700458e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 08:06:56 2019 -0400
|
|
|
|
micro-optimize initialization with arenas
|
|
|
|
commit 62c73d8b41ee01afb7a68f08247e91e9c33822bc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Apr 10 07:40:29 2019 -0400
|
|
|
|
harden thread_arena check
|
|
|
|
commit d5c00b4d0d5007d645861f40861e7c1999aeaf18
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 19:15:43 2019 -0400
|
|
|
|
disable current in-place growth code path for now
|
|
|
|
commit d5c1bca9153d8f4a548eb3552ae20d9c8322e373
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 16:36:01 2019 -0400
|
|
|
|
use round-robin assignment to arenas
|
|
|
|
The initial implementation was a temporary hack rather than a serious
|
|
implementation of random arena selection. It may still make sense to
|
|
offer it but it should be implemented via the CSPRNG instead of this
|
|
silly hack. It would also make sense to offer dynamic load balancing,
|
|
particularly with sched_getcpu().
|
|
|
|
This results in a much more predictable spread across arenas. This is
|
|
one place where randomization probably isn't a great idea because it
|
|
makes the benefits of arenas unpredictable in programs not creating a
|
|
massive number of threads. The security benefits of randomization for
|
|
this are also quite small. It's not certain that randomization is even a
|
|
net win for security since it's not random enough and can result in a
|
|
more interesting mix of threads in the same arena for an attacker if
|
|
they're able to attempt multiple attacks.
|
|
|
|
commit 9a0de626fcb0bb32a7b08092b5b422efc738e078
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 03:57:44 2019 -0400
|
|
|
|
move stats accounting to utility functions
|
|
|
|
commit 02bfcc3b75ef17a2dbae08ca582988aa7d19eb9b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 01:29:25 2019 -0400
|
|
|
|
chacha: add constant for number of rounds
|
|
|
|
commit cef7368b3cbb2ee2b438b0246c9655222c5798c4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 00:57:17 2019 -0400
|
|
|
|
disable unusable readability-magic-numbers lint
|
|
|
|
This wouldn't be worth using even if it had a whole bunch of heuristics
|
|
like ignoring expressions in static_assert, ignoring repeated patterns
|
|
like assigning different things to sequential array indexes, etc.
|
|
|
|
commit 295bfbde945330ccdfe9729bf5368b192a51261a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 00:43:00 2019 -0400
|
|
|
|
disable bugprone-too-small-loop-variable lint
|
|
|
|
This has too many false positives since it doesn't permit comparisons
|
|
against constants where the compiler can verify it doesn't overflow.
|
|
|
|
commit 8b2b9d940a9bb8dfabc389a74811ada4822dd632
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 00:15:41 2019 -0400
|
|
|
|
chacha: use C99 variable declaration style
|
|
|
|
This further aligns the code style with the rest of the project and
|
|
fixes the clang-tidy readability-isolate-declaration lint triggered by
|
|
declaring all of these variables together.
|
|
|
|
commit 9453332e57a0f9583a1e4dce254e797b06362982
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Apr 9 00:06:17 2019 -0400
|
|
|
|
remove redundant else block
|
|
|
|
commit 922c7419152aafdc362bc350b8c81becf382e491
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 18:13:26 2019 -0400
|
|
|
|
it already supports Bionic, musl and glibc
|
|
|
|
commit a4cff7a960c1d55a86d6a7302d8ada9219fadb9a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 18:02:56 2019 -0400
|
|
|
|
factor out slab memory_set_name into label_slab
|
|
|
|
commit ef90f404a640320fc34065425c33564377ce95e3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 09:06:03 2019 -0400
|
|
|
|
add sanity check for stats option
|
|
|
|
commit e0891c8cfc8d5afbb9e721650db18c615f4009b5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 08:04:06 2019 -0400
|
|
|
|
implement the option of large size classes
|
|
|
|
This extends the size class scheme used for slab allocations to large
|
|
allocations. This drastically improves performance for many real world
|
|
programs using incremental realloc growth instead of using proper growth
|
|
factors. There are 4 size classes for every doubling in size, resulting
|
|
in a worst case of ~20% extra virtual memory being reserved and a huge
|
|
increase in performance for pathological cases. For example, growing
|
|
from 4MiB to 8MiB by calling realloc in increments of 32 bytes will only
|
|
need to do work beyond looking up the size 4 times instead of 1024 times
|
|
with 4096 byte granularity.
|
|
|
|
commit 7a7126e7805a0c6c9c3e6606ef4c1c37a7844e07
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 06:05:11 2019 -0400
|
|
|
|
add infrastructure for a larger guard size option
|
|
|
|
commit c68de6141d7f91ba7968fa25f6092fc9685980b3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 05:48:10 2019 -0400
|
|
|
|
factor out duplicated code in malloc/realloc
|
|
|
|
commit ce36d0c82601eedce03eca220ea65a1b3827ab9c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 05:30:07 2019 -0400
|
|
|
|
split out allocate_large function
|
|
|
|
commit 3d18fb80742fd80a75481b580d102deb18c74af9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 03:35:26 2019 -0400
|
|
|
|
implement Android M_PURGE mallopt via malloc_trim
|
|
|
|
commit 4f08e40fe5bca4e206fbb5eb01c379e74fe4e84c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 00:50:26 2019 -0400
|
|
|
|
move thread sealing implementation
|
|
|
|
commit 55891357ff5d65d12bfd8b482e44dabe191fb915
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 00:36:53 2019 -0400
|
|
|
|
clean up the exported API section of the code
|
|
|
|
commit 0651c819e3799184854b78762a339f59fba900ce
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 00:34:13 2019 -0400
|
|
|
|
clarify hardened_malloc extensions section
|
|
|
|
commit 491ce6b0b1f4d02dbb410341947300970c47eaef
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 00:30:47 2019 -0400
|
|
|
|
no need to provide valloc and pvalloc on Android
|
|
|
|
commit 1eed432b9a736d8820360431361679cacf21271a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 00:24:23 2019 -0400
|
|
|
|
limit more glibc cruft to that environment
|
|
|
|
commit ec8fb347ed4344483bd6105c47e07ea847e7e586
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Apr 7 00:10:22 2019 -0400
|
|
|
|
document CONFIG_STATS
|
|
|
|
commit beaa39a5a3ae5a62e9adb1faf91b74e343388a62
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Apr 6 23:45:31 2019 -0400
|
|
|
|
move to only supporting current generation AOSP
|
|
|
|
commit 27a4c883ced2dc1eb62f974e559a0f127fa58af6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Apr 6 23:06:47 2019 -0400
|
|
|
|
extend stats with nmalloc and ndalloc
|
|
|
|
commit e94fe50a0d02a4202ef5bb674f3690a4bdcd8de2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Apr 6 22:43:56 2019 -0400
|
|
|
|
include zero byte size class in stats
|
|
|
|
The allocations don't consume any actual memory, but it does still use
|
|
up the virtual memory assigned to the size class and requires metadata.
|
|
|
|
commit 712748aaa88b2fa41f2ac06a74be201c6ea173f0
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Apr 6 22:21:11 2019 -0400
|
|
|
|
add implementation of Android mallinfo extensions
|
|
|
|
These are used internally by Bionic to implement malloc_info.
|
|
|
|
commit 0f107cd2a32518734aee7dce4964a1ac7b775933
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Apr 6 22:01:12 2019 -0400
|
|
|
|
only provide malloc_info stub for glibc
|
|
|
|
This has a proper implementation in Bionic outside of the malloc
|
|
implementation via the extended mallinfo API.
|
|
|
|
commit 350d0e5fd2e2a869e7dcf03b394f10c5670cac03
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Apr 6 20:49:52 2019 -0400
|
|
|
|
add real mallinfo implementation for Android
|
|
|
|
Android Q uses the mallinfo implementation in the ART GC:
|
|
|
|
https://android.googlesource.com/platform/art/+/c220f981809d655fb061c92a581fd6fc4df4da5c
|
|
https://android.googlesource.com/platform/art/+/15752673020e89df2a9353f332bd1409de4cd4b7
|
|
|
|
commit 7acebaa837c8990057cac6150d53b9912ab8f5fe
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Mar 26 01:45:15 2019 -0400
|
|
|
|
overhaul glibc compatibility workarounds
|
|
|
|
commit df9650fe64c3aec1fd523ff8a81247de0d8d69b4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Mar 26 01:28:27 2019 -0400
|
|
|
|
conditionally include threads.h
|
|
|
|
commit 98deb9de520cc8ed5439233a7c000a714c2f002e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Mar 25 20:34:10 2019 -0400
|
|
|
|
relabel malloc read-only after init data
|
|
|
|
commit fc8f2c3b608c9ee9b57a05e4a43923f72f67863f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Mar 25 16:38:16 2019 -0400
|
|
|
|
move pthread_atfork wrapper to util header
|
|
|
|
commit b5187a0aff55fa937048adb58da0f15c03ead837
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Mar 25 16:37:34 2019 -0400
|
|
|
|
only use __register_atfork hack for old glibc
|
|
|
|
commit 494cc5ec507d5bbcce479f33c2f35f887f9b304f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Mar 25 16:14:54 2019 -0400
|
|
|
|
update README now that arenas are implemented
|
|
|
|
commit c5e911419dee99db51adce79647ea2ca38d750d7
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Mar 25 14:49:50 2019 -0400
|
|
|
|
add initial implementation of arenas
|
|
|
|
commit 55769496dc345b28d6b6715d31c1435b204f5df9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Mar 25 14:54:22 2019 -0400
|
|
|
|
move hash_page to pages.h
|
|
|
|
commit 13de480bdeec2718a256612e38b2c8a050cc0155
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Mar 24 20:24:40 2019 -0400
|
|
|
|
rename quarantine bitmap field for clarity
|
|
|
|
commit 3d142eb4c2122775026899fd68b1b18ba5e02235
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 23:01:12 2019 -0400
|
|
|
|
relabel large allocation guards when shrinking
|
|
|
|
commit 64dfd23f7bec9cb6591a39515cd9f85fa1a0cffa
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 22:59:59 2019 -0400
|
|
|
|
relabel purged slabs
|
|
|
|
commit 178ec6e3f9ddfe68a854b43a27413857804877d9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 22:57:19 2019 -0400
|
|
|
|
relabel quarantined large allocation regions
|
|
|
|
commit 6e67106882039f677a22ab18e55952c7880e67bd
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 22:54:21 2019 -0400
|
|
|
|
label malloc slab region gaps
|
|
|
|
commit 1d6207529170c9f7c41e13a161370fb9e3c03ce3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 22:29:04 2019 -0400
|
|
|
|
label allocate_aligned_pages mappings
|
|
|
|
commit c8b948e202267a86cca642d6736ad9be31f5c0f9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 19:46:54 2019 -0400
|
|
|
|
enable C++17 support when available
|
|
|
|
commit a0ee5f445b1759ec5a17596ebeaea3d73ea5a516
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Mar 23 13:41:12 2019 -0400
|
|
|
|
remove redundant extern "C" block
|
|
|
|
commit 45337ebe078cf7f8f7dbead31a5ff2445550590a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Mar 22 23:17:26 2019 -0400
|
|
|
|
label allocate_pages mappings
|
|
|
|
commit 65311a5df22ca607ae3ccd04ba8b9872b705ac8a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Mar 20 15:18:34 2019 -0400
|
|
|
|
relabel region table mapping
|
|
|
|
commit e4120913d6d5397cba53f866808463ee5b93f874
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Mar 20 14:11:06 2019 -0400
|
|
|
|
only enable LABEL_MEMORY in debug builds
|
|
|
|
commit 87acbcdf23048029e5398cb44a447c6ff294ae16
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Mar 20 13:18:27 2019 -0400
|
|
|
|
replace C++17 aligned allocation functions
|
|
|
|
commit ddd616aa0b60802046169c23b0a40ac9a76cc8c9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Mar 20 11:56:32 2019 -0400
|
|
|
|
add documentation on system calls
|
|
|
|
commit 4a000d96e29c05fa880ef99eeaec50a3f5a2ddcc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Mar 20 10:55:29 2019 -0400
|
|
|
|
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.
|
|
|
|
commit c9df70d93462eeb3e802b5f6f0cdb3df1c3ee798
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Dec 11 12:37:37 2018 -0500
|
|
|
|
add support for labelling memory regions
|
|
|
|
commit ae96835b94bce7aa889cae6231f900dc9e48a4b3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Feb 4 15:59:14 2019 -0500
|
|
|
|
fix scalability header levels
|
|
|
|
commit e4061899aa9f80cd500950aec91ce48c26c9eed6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Feb 4 15:01:15 2019 -0500
|
|
|
|
add documentation on scalability design choices
|
|
|
|
commit 41df5005e8ea053f3c8d10d5201bde69fe6a04ee
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Feb 4 13:59:19 2019 -0500
|
|
|
|
add a top-level header to the README
|
|
|
|
commit 9cc0ac3efa64b0bf866699257a5f6af5cde686ed
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Feb 4 11:51:20 2019 -0500
|
|
|
|
add basic documentation on memory tagging approach
|
|
|
|
commit 9398805fd85c0da6d8c1dae13be53308dfb7d953
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Jan 10 17:05:55 2019 -0500
|
|
|
|
reference paper rather than fastrand for Python
|
|
|
|
commit 2d7882ec0ebdb35a12d5658896d4819b6bc52a86
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Jan 8 17:01:56 2019 -0500
|
|
|
|
remove redundant unseal / seal metadata
|
|
|
|
commit fa17f70a731247eb2e27003988aae01e37be2823
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Jan 6 00:52:25 2019 -0500
|
|
|
|
add more configuration sanity checks
|
|
|
|
commit 33b1a2740eed65dd6efc4ccd813eea8b98c4ad0e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jan 2 15:42:41 2019 -0500
|
|
|
|
update default slab quarantine sizes in README
|
|
|
|
commit dea2788539e203f6e93bf15699548de441826216
|
|
Author: Arlo Breault <arlolra@gmail.com>
|
|
Date: Wed Jan 2 15:27:51 2019 -0500
|
|
|
|
fix typo in README.md
|
|
|
|
commit 8a474b647c469eddf2e3d568b1385dcf8215d6e7
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jan 2 14:59:19 2019 -0500
|
|
|
|
enable both forms of slab quarantines by default
|
|
|
|
commit 57f115b33c0a45637dd7eb8a6d2c64378fe0b25e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jan 2 14:22:28 2019 -0500
|
|
|
|
scale slab quarantine based on size
|
|
|
|
commit ccc2a86501cda4095a8b96275942c37e82def2ed
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jan 2 13:40:02 2019 -0500
|
|
|
|
rename quarantine size -> length for clarity
|
|
|
|
commit bc2cb5c828ef3b00f0a669310e1d1277b371687f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jan 2 13:23:49 2019 -0500
|
|
|
|
fix builds with both random and queue quarantine
|
|
|
|
commit 5d3b299209ee85958d8c2b46a2fc23d6d0f73544
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Jan 2 13:03:25 2019 -0500
|
|
|
|
support random quarantine sizes other than 0 or 16
|
|
|
|
commit 418cb1609cbcc62e837b8d3e63c1186faa288c3a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Dec 9 12:47:02 2018 -0500
|
|
|
|
add RLIMIT_AS alternative to wishlist
|
|
|
|
commit 2d88b90282a6a100426c7bc3b33b9b10f2d15c7d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Dec 9 11:02:53 2018 -0500
|
|
|
|
reorder Makefile CONFIG variables
|
|
|
|
commit 4dc3385bc0b0f45e793aace371f9b348c62e388c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Dec 9 10:58:34 2018 -0500
|
|
|
|
fix calloc for nmemb == 0 and !ZERO_ON_FREE
|
|
|
|
commit 8a863ae847d4897b01019ac89716331ba7d93bde
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Dec 6 12:04:42 2018 -0500
|
|
|
|
use conlyflags in Android.bp when appropriate
|
|
|
|
commit 830a7d338d0a9a0617673aae2ce902a173b3714b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 09:23:05 2018 -0500
|
|
|
|
make class_region_size configurable
|
|
|
|
commit 8b0450555fbb28844a0b3b0f8b205f25df314e4c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 01:44:43 2018 -0500
|
|
|
|
add initial Android build system support
|
|
|
|
commit a1e0d978645a4f6d53f3898651a1cdd2a7625ac0
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 03:46:35 2018 -0500
|
|
|
|
add __BEGIN_DECLS / __END_DECLS
|
|
|
|
commit ced3b0e070da1a8de9faf5bb38735d53cfe99079
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 03:27:09 2018 -0500
|
|
|
|
support Android malloc_usable_size
|
|
|
|
commit 7917966ecac59f280b2657f399e277476fcdd64f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 02:45:24 2018 -0500
|
|
|
|
avoid unnecessary GNU pointer arithmetic extension
|
|
|
|
commit 7f781af9292eb699b672e129a0ca767ad3859f61
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 02:22:10 2018 -0500
|
|
|
|
explicitly include system malloc.h
|
|
|
|
commit 79cf5cbeb428b94016734adf51d4a0ac5a4d554b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 02:21:28 2018 -0500
|
|
|
|
disambiguate malloc.h
|
|
|
|
commit f90fb3199d9343caebcabccc73fb2ac4e8635857
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 02:07:05 2018 -0500
|
|
|
|
avoid redefining PAGE_SIZE/PAGE_MASK
|
|
|
|
commit 9fd0670aac6a989bcd29d264e181aebf3f9c6d27
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Dec 5 02:05:37 2018 -0500
|
|
|
|
add lib prefix to the shared object name
|
|
|
|
commit 11fe467b7c7ed2f5542918bc27ff9142f0a9a351
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 08:04:37 2018 -0500
|
|
|
|
clarify wording
|
|
|
|
commit c9dfe586b37210da30ebc48715cc265909db7ce1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 06:54:48 2018 -0500
|
|
|
|
add initial documentation on API extensions
|
|
|
|
commit 4d85a61db26779cb7c73506ec9f47699835aa18b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 06:31:58 2018 -0500
|
|
|
|
remove obsolete duplicate information
|
|
|
|
commit d88a8c98137a7adba9dd0df0545873b1986a6d33
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 05:44:56 2018 -0500
|
|
|
|
mention that the same hash table code is reused
|
|
|
|
commit 433b37b4a95f052329f08f830b6c49e0c71a1ea9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 01:44:46 2018 -0500
|
|
|
|
explain more of the size class reasoning
|
|
|
|
commit a052be762dfad21cac0b466182d85d3b6d59036f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 01:02:40 2018 -0500
|
|
|
|
explain some differences from the previous project
|
|
|
|
commit a5ed64d01acdda1355daf09c85ef9406394596fc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 00:17:43 2018 -0500
|
|
|
|
explain slot counts tied to slab size classes
|
|
|
|
commit 5b048a28c23b3b9d6eeb79bbd52145c3e58e4b0f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 19 00:11:15 2018 -0500
|
|
|
|
improve explanation of jemalloc size classes
|
|
|
|
commit ac992827737b67f5b1949d66d0985acd6aa3c478
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Nov 17 10:53:04 2018 -0500
|
|
|
|
remove duplicate word
|
|
|
|
commit 54a0313d9bad43665d4f2a295296101602e077f4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 18:41:27 2018 -0500
|
|
|
|
split out dependencies section
|
|
|
|
commit d208d093a222127cd525a9e3b0fe45e64ddfb829
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 18:35:19 2018 -0500
|
|
|
|
add more of an introduction describing the project
|
|
|
|
commit 2bb568b4731a860296c8add480d5908ea4e4bfaf
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 18:04:46 2018 -0500
|
|
|
|
improve documentation about mapping count
|
|
|
|
commit 8a38c4fb2a92a8007ce4c012a1505514aeb174ba
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 15:36:34 2018 -0500
|
|
|
|
add initial documentation for integer options
|
|
|
|
commit f3623e1f2bdc2be9ade21df967506d67e73911c1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 15:25:35 2018 -0500
|
|
|
|
finish migration away from config.h
|
|
|
|
commit 06149aa156507b9a09a74b5f8bf7744522c4ceb2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 15:12:10 2018 -0500
|
|
|
|
enable readability-else-after-return tidy check
|
|
|
|
commit 58c7079db9a2e9e23ab990dd466aa18a8711bc22
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 14:58:55 2018 -0500
|
|
|
|
eliminate unnecessary code duplication in calloc
|
|
|
|
commit 315415acf23dba73e109585567d08052d20eb3be
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 16 03:26:07 2018 -0500
|
|
|
|
clarify write-after-free detection feature
|
|
|
|
commit a617f7604d9b2f1272b97883fc46a4b96c8bf584
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 12 05:37:20 2018 -0500
|
|
|
|
switch malloc_enable to enforce_init
|
|
|
|
commit 3cd3d34b3e3a15bcae0e956aeb981a16662c1fc3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Nov 6 04:23:53 2018 -0500
|
|
|
|
extend gitignore for tests
|
|
|
|
commit 11c717a7b93f83092222bf779f3472bc224bce14
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 5 18:06:54 2018 -0500
|
|
|
|
update progress on randomization
|
|
|
|
commit 2d892e58ad8947219b16042c28219ccf034c5375
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 5 18:05:56 2018 -0500
|
|
|
|
per-slab canary values are good enough for now
|
|
|
|
commit 3a488c9a271eb14caf208ba123de4e5d47b72a59
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 5 16:19:50 2018 -0500
|
|
|
|
add initial slab allocation quarantine
|
|
|
|
commit fea335282a35d9b34ac61af5cd37b1b833a3bb03
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Nov 5 02:19:04 2018 -0500
|
|
|
|
use slab_region_start for init checks
|
|
|
|
commit a8112fc5c3a7b28bedd86d34c068e329b34300e1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Nov 4 19:45:04 2018 -0500
|
|
|
|
use -O3 instead of -O2 primarily for more inlining
|
|
|
|
commit ca465f6b3ee8f1d184f4fc6af243f0b84deab3b9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Nov 4 18:52:01 2018 -0500
|
|
|
|
clarify scope of sized dealloc mismatch detection
|
|
|
|
commit 505b9d2e7644771303cb779e693b066779c51c36
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Nov 4 14:32:03 2018 -0500
|
|
|
|
add missing -Wl,--as-needed (removed by mistake)
|
|
|
|
commit 943a81fbebb6c8644ae3cee7d151c1f71426d6e6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Nov 4 14:23:12 2018 -0500
|
|
|
|
use smaller integers for random cache state
|
|
|
|
commit 1fed72a9c3e041016d98990005d64d8509e82c69
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Nov 3 05:44:49 2018 -0400
|
|
|
|
slab internal fragmentation is always the same
|
|
|
|
commit c12d6795de93a93287561fc627bf25cf55dfef38
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Nov 3 04:47:45 2018 -0400
|
|
|
|
expand a bit on future config for slab cache size
|
|
|
|
commit d5b773b2bc5b1ed5b7a4be09e910d44fddeebed6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Nov 3 04:40:13 2018 -0400
|
|
|
|
clarify documentation about the 0 byte size class
|
|
|
|
commit f949698c7a1af8ace5b4d8339de0e742c6f4e45f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Nov 3 03:11:59 2018 -0400
|
|
|
|
note that MPK-based hardening is off by default
|
|
|
|
commit f2a7ccde75b218fb4a32bc8a90e0d9907731c78c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Nov 3 03:09:03 2018 -0400
|
|
|
|
add basic overview of part of the approach to MTE
|
|
|
|
commit 1da51ddde190de37690efacb0186ac99e4c19ef1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Nov 2 21:35:09 2018 -0400
|
|
|
|
migrate bool configuration options out of config.h
|
|
|
|
commit 4ac2688d76d417a7f325d3530c89d829e3675566
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Nov 1 01:00:59 2018 -0400
|
|
|
|
add support for slab metadata count field
|
|
|
|
commit 834ce6788406e010aec06413793b06fa01cf0219
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 30 19:22:56 2018 -0400
|
|
|
|
make canary generation consistent
|
|
|
|
commit c29a1836874344840a6a90e90735b6e1641f26b8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 30 18:09:07 2018 -0400
|
|
|
|
reduce overhead of slot randomization
|
|
|
|
commit ceffb1a0ecaef7407f273d9301f9906ab9f87cd1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 30 16:37:23 2018 -0400
|
|
|
|
simplify get_free_slot loops
|
|
|
|
commit a02f4ebb1956990d233a60fa64b4c5d49a5c44d1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 28 23:23:54 2018 -0400
|
|
|
|
add missing deallocate_small thread_seal_metadata
|
|
|
|
commit 5bee717134fd80d6844a96bf6bbc40a033313adc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 28 22:31:46 2018 -0400
|
|
|
|
use -march=native by default with a disable toggle
|
|
|
|
commit 00915521a3eda96f82f393cecc41b5fc39501140
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 28 21:07:35 2018 -0400
|
|
|
|
check canary before zeroing as an optimization
|
|
|
|
commit 6f30211da865233df0ba01d5d92eeaabeaecda85
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 28 20:28:10 2018 -0400
|
|
|
|
some clarifications for the README
|
|
|
|
commit b99ab8a47a5e725c413587141ff826589b0388f6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 24 03:09:04 2018 -0400
|
|
|
|
no need to artificially limit sealing to x86_64
|
|
|
|
commit e985afe0e16f4e1f0d178476342de10bce5d2c0c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 23 19:38:00 2018 -0400
|
|
|
|
document relatively high performance cost of MPK
|
|
|
|
commit 4cd61e281dbdab118e1a1a4ec06dbaa12f5a9933
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 23 19:07:41 2018 -0400
|
|
|
|
add workaround for bug in Linux MPK implementation
|
|
|
|
commit 299bd6d414bc1d019c830f1642692252586a6711
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 23 16:28:54 2018 -0400
|
|
|
|
add missing thread unseal / seal for atfork hooks
|
|
|
|
commit 9d1567ce16e486777c3f8f5aa5e016dc99082a7e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 23 15:55:45 2018 -0400
|
|
|
|
make safe_flag check compatible with POSIX sh
|
|
|
|
commit 59def67979d980dd91d5cc5b1287ab3856e2044c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 23 07:40:14 2018 -0400
|
|
|
|
add inlined check for -1 with pkey_set
|
|
|
|
commit 05ac717cf284deeb511fd5126f65996246831d90
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 23 07:23:07 2018 -0400
|
|
|
|
work around -Wcast-align=strict error with old GCC
|
|
|
|
commit 0b963078d56d227fd75b9317f4be5a77c632cefe
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 19 21:29:40 2018 -0400
|
|
|
|
guard metadata with Memory Protection Keys (MPK)
|
|
|
|
commit ac8c68de536ec071913bb2f78f7cba6b57c8866f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 21 15:50:26 2018 -0400
|
|
|
|
enable pointer cast warnings
|
|
|
|
commit 9a43302868040f7ca90a809b53c6390d55c7f8d0
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 20 02:27:06 2018 -0400
|
|
|
|
add enforce_init call to other realloc code path
|
|
|
|
commit 6a408ad0174e0127e48e065e4855b532782faaba
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 19 21:46:36 2018 -0400
|
|
|
|
add init calls to malloc_enable/malloc_disable
|
|
|
|
commit 173ed535396c323e259659498cca13a3ee015209
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 19 17:07:30 2018 -0400
|
|
|
|
use consistent code style in chacha.c
|
|
|
|
commit 1d2c10f5bb433e2482ec7233d1ff7433e6006d0e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 19 16:17:38 2018 -0400
|
|
|
|
tweak canary awareness in offset test
|
|
|
|
commit 64b655f0624037a9c74822b27e0ecc333a584f1b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 20:33:48 2018 -0400
|
|
|
|
set scope of planned metadata protection
|
|
|
|
commit e37b36c9dd722ff569d6067feed845da75146f38
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 20:18:55 2018 -0400
|
|
|
|
update configuration documentation again
|
|
|
|
commit f0a6f551eb765df941ff32f8f3bd3a6659747c53
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 19:35:21 2018 -0400
|
|
|
|
tweak code style
|
|
|
|
commit cf053e74d1182f7006b0784994ba6b67b761c9ee
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 16:10:49 2018 -0400
|
|
|
|
metadata region unification is completed
|
|
|
|
commit 1e03b004f562f2dc213cd5326d72d3c21cbb622d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 16:01:04 2018 -0400
|
|
|
|
move slab_info to main metadata region
|
|
|
|
commit 3f1962dd2bb367a49d39c2e564172010865174b0
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 15:25:14 2018 -0400
|
|
|
|
use min macro for realloc copy size
|
|
|
|
commit fe30f6c2ea784dd8f57f3ce9f5e220752ff963f9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 15:19:54 2018 -0400
|
|
|
|
delay allocating slab metadata from reservation
|
|
|
|
commit 74139112d0b5c6002a3bdefd1c73b77fd24b3737
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 18 14:57:05 2018 -0400
|
|
|
|
explain the purpose of CONFIG_CXX_ALLOCATOR
|
|
|
|
commit 64e9f6797ad8c38c1c44c15a1e75135296a1e966
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 16 15:52:41 2018 -0400
|
|
|
|
use offsetof for allocator_state memory protection
|
|
|
|
commit 67ada4d3095c061cd2450ab6884234a04907e02e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 15 19:08:20 2018 -0400
|
|
|
|
document padding for allocator state
|
|
|
|
commit da8e9aa1d81e845338a25a25e6196e547e372736
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 15 15:43:46 2018 -0400
|
|
|
|
document allocator state region
|
|
|
|
commit 1c9e0d88a567479fdad84be1587a9798c82b66d9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 15 15:09:41 2018 -0400
|
|
|
|
use the initial region table slots again
|
|
|
|
commit da0df69d22d69810c787fd0a458da8a26a807995
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 15 15:07:59 2018 -0400
|
|
|
|
move region hash tables into main state region
|
|
|
|
commit 1e5dec97e0cde0a8086beaed4fbb2086af2a5661
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 15 14:46:57 2018 -0400
|
|
|
|
move slab allocator state into main state region
|
|
|
|
commit e8eca2d4305bb8a72caf6c10d6d91a5d078bfdbc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 15 04:04:51 2018 -0400
|
|
|
|
explain the production-oriented design rationale
|
|
|
|
commit fde9fc2ece2a8e510cec335b420694066d51f08d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 22:41:17 2018 -0400
|
|
|
|
protect region allocator state with random guards
|
|
|
|
commit 124d958da17907c378de9bee02cef8b17dfe9eac
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 22:19:10 2018 -0400
|
|
|
|
document free slabs quarantine
|
|
|
|
commit 3504465584765b2059f8095751ece78c665146de
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 22:12:03 2018 -0400
|
|
|
|
document progress on protected allocator state
|
|
|
|
commit da6fd5b5ef9245b541870f72355e695d80f53c3a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 22:06:16 2018 -0400
|
|
|
|
move slab allocator state to a dedicated mapping
|
|
|
|
commit 11909668461f8cb03c7edc2e88a048d7ea281151
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 21:54:23 2018 -0400
|
|
|
|
rename region_info to region_metadata
|
|
|
|
commit a083ff79e13a0f2f4630c863a4d5863a192b0285
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 21:12:37 2018 -0400
|
|
|
|
move region allocator state to a dedicated mapping
|
|
|
|
commit d728afae8e2d162c63fced7293192e4e0f724810
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:58:54 2018 -0400
|
|
|
|
add configuration option for testing with UBSan
|
|
|
|
commit 535466fdfd8f64bfb2a6488254b79da954867c92
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:57:59 2018 -0400
|
|
|
|
avoid undefined shifts with multi-word bitmaps
|
|
|
|
commit 7798b2693e4e9b95da350fa5ce53d610dc5c8114
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:49:48 2018 -0400
|
|
|
|
fix loop exit condition boundary for get_free_slot
|
|
|
|
commit 3c0a448c3e2f85773df3f8579bf1c7e49b31d8b4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:33:40 2018 -0400
|
|
|
|
enable more tidy checks
|
|
|
|
commit 9ea2fd6667834995c4d39b49a8454938f49fcb6c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:30:20 2018 -0400
|
|
|
|
write_after_free_check only reads data
|
|
|
|
commit d35674c67e40d86d85d19e5f56f92029bb52ae6c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:28:01 2018 -0400
|
|
|
|
expected_size is not an output parameter
|
|
|
|
commit 8b033c5e44be8509e38f668b9e245ac4a6c67a56
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:20:18 2018 -0400
|
|
|
|
make ALIGNMENT_CEILING into a function
|
|
|
|
commit 118549451b238ab149bc70790e2832d0560878dd
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 18:01:40 2018 -0400
|
|
|
|
add tidy target to the Makefile for clang-tidy
|
|
|
|
commit b66ca56ba14c9053c09cd6891c739d31a509fa65
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 17:59:43 2018 -0400
|
|
|
|
initialize ptr to nullptr in handle_out_of_memory
|
|
|
|
It will break out of the loop in the first iteration if there's no
|
|
handler or the handler throws an out-of-memory error.
|
|
|
|
commit 4fbfe4d3ecb5f4a7a9967af2587ede80ef0cbbe2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 17:43:03 2018 -0400
|
|
|
|
fix canary space reservation for pvalloc
|
|
|
|
commit f11c448a0d21c863c2d8cb630ada6763f931f1d2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 14 15:09:55 2018 -0400
|
|
|
|
slightly reorganize slab metadata
|
|
|
|
commit 3db3e167ede6a9bd035f9145b5cb817954e150dd
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 13 16:49:06 2018 -0400
|
|
|
|
remove usage of ATOMIC_VAR_INIT
|
|
|
|
This was never truly required in practice and has been officially
|
|
obsoleted in C17.
|
|
|
|
commit 65a7014b48b3231753b64200bcf0fb6a0073da3d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 13 13:55:44 2018 -0400
|
|
|
|
randomize free slabs reuse
|
|
|
|
commit 83df37436d3b10fc51d2ecc164f04527e4069b8b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 12 16:02:23 2018 -0400
|
|
|
|
fix usage of pthread_atfork for glibc < 2.28
|
|
|
|
commit 0a64c7d6a186b7e87030e7c34378c51c1e2bf120
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 12 15:10:35 2018 -0400
|
|
|
|
document the randomized array in the quarantine
|
|
|
|
commit 6669166fe98a9fe918c7c5c47d3956b6f295dd7e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 12 15:06:51 2018 -0400
|
|
|
|
move memory_unmap outside of lock scope
|
|
|
|
commit b2007ad3d9d3acd9628c012f3da567f3e13121fe
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 12 15:03:59 2018 -0400
|
|
|
|
implement randomization for the region quarantine
|
|
|
|
commit ac2b940f0f271533fec927e59d9fe237af4364b4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 11 18:12:20 2018 -0400
|
|
|
|
fix compatibility with older GCC versions
|
|
|
|
Avoid relying on compiler extensions supporting more flexible usage of
|
|
constants closer to how it works in C++.
|
|
|
|
commit e47c78352401923504da822fe27a4fc50f86b4ae
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 11 01:44:41 2018 -0400
|
|
|
|
add test for delete size mismatch
|
|
|
|
commit 7606bf4c1f3e7315cedecfa9d61c35fd442434d4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 11 01:35:25 2018 -0400
|
|
|
|
clean up includes in new.cc
|
|
|
|
commit 54c78fe1c25a2146b675f1942dcb77bfd0562a96
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 10 19:05:35 2018 -0400
|
|
|
|
distinguish between mmap / mremap errors
|
|
|
|
commit 2381d973b1c14ad8312275a88baab3317aefa959
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 10 18:55:31 2018 -0400
|
|
|
|
expand on metadata address space security
|
|
|
|
commit 29fd86ab37493c1af429d0d66987f9e7638301e7
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 10 18:48:45 2018 -0400
|
|
|
|
document sized deallocation validation
|
|
|
|
commit c74fe560918843521ce0db2b5d6ecf4366f723a3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 10 18:19:56 2018 -0400
|
|
|
|
minor include style fix
|
|
|
|
commit ddcdd9423ca2220e41729cd38836003377db6451
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Oct 9 14:08:36 2018 -0400
|
|
|
|
make the memory mapping quarantine more efficient
|
|
|
|
commit 57d5ab769be05b8d85e9a36d98b9fb2c451c9de5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 8 17:41:06 2018 -0400
|
|
|
|
add write-after-free tests with potential reuse
|
|
|
|
commit 5fa6e01929e7307c729f40dbc4e25b4acfaee8f2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 8 17:09:57 2018 -0400
|
|
|
|
clearer name for MREMAP_MAYMOVE threshold
|
|
|
|
commit 1a10c17e8b8073a3343aaa1ea1db3670d84842d7
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Oct 8 15:50:31 2018 -0400
|
|
|
|
add quarantine for large allocations
|
|
|
|
commit cc9699f1b40d67bcf8042aa35fc59c187d9bb6df
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 7 13:34:52 2018 -0400
|
|
|
|
use multi-word bitmap to support up to 256 slots
|
|
|
|
commit 5e2f03296e6bd5fc29e533de5b27a4506821e782
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 7 16:18:17 2018 -0400
|
|
|
|
remove old debugging code
|
|
|
|
commit fa2796a941eeef1870092384a50e5201d3cb0d69
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Oct 7 11:28:50 2018 -0400
|
|
|
|
Makefile: add missing dependencies
|
|
|
|
commit cf07ae600750d9a50ace16f8bdf486a2af2c1e5c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 6 15:37:50 2018 -0400
|
|
|
|
update configuration in README
|
|
|
|
commit 348f9fa557ebcbf86fa8d0058e78bf2f12aa925a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 6 15:36:03 2018 -0400
|
|
|
|
add configuration for frequency of guard slabs
|
|
|
|
commit 4ee12e64e0726e1245ce21f5449af5281e53bce2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 6 15:17:55 2018 -0400
|
|
|
|
configuration for guard region sizes
|
|
|
|
commit d18b05eaf40606e7908dde97fd04aca9419dada1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 6 13:31:16 2018 -0400
|
|
|
|
avoid redundant checks for large realloc
|
|
|
|
commit eb7ced7781dcd5c240cb6998a398d3ac1c3308be
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Oct 6 10:40:55 2018 -0400
|
|
|
|
implement in-place growth of large allocations
|
|
|
|
commit 3a936295f8b647b23cf95cd7c490d777f33a4eb8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 5 02:45:40 2018 -0400
|
|
|
|
Makefile: split out shared compiler flags
|
|
|
|
commit 4716ff5b92c9a2ce02fc422e36ca6274b0cf5701
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 5 02:22:17 2018 -0400
|
|
|
|
explicitly export C++ allocator overrides
|
|
|
|
This doesn't make any difference for GCC, but these aren't replaced
|
|
outside of the library with Clang without explicitly exporting them.
|
|
|
|
commit e6e9ac1fc9ee9b31923eab4af6e08c6d74d41cfb
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Sep 19 13:57:35 2018 -0400
|
|
|
|
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.
|
|
|
|
commit 3dc49f8f73da52046777c505f85ccffd5dd7f3a6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Oct 5 01:05:40 2018 -0400
|
|
|
|
slightly improve sized deallocation error messages
|
|
|
|
commit dcd969ae0471fec6f96ac9a772d5673d9dd1b6c1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 14:25:16 2018 -0400
|
|
|
|
use a consistent style for fixed-size int types
|
|
|
|
The stdint.h types don't cover 128-bit integers and the underscore makes
|
|
them ill suited to usage in function suffixes. Instead, use the common
|
|
naming style in the Linux kernel and elsewhere including the ChaCha8
|
|
implementation included here.
|
|
|
|
commit 92a33182fbf4a3476d601b0f493bcd55e493da57
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 04:13:28 2018 -0400
|
|
|
|
port chacha.h to the code style used elsewhere
|
|
|
|
commit 08a633b24473f56370d154929922de4f89e1dd24
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 04:12:21 2018 -0400
|
|
|
|
fix another typo in the README
|
|
|
|
commit ef32a4b7ea79c517125629ed1d3ae78aec88afc3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 04:03:48 2018 -0400
|
|
|
|
add -pipe to CFLAGS
|
|
|
|
commit e99191d5d4c270b1eb3ed88094e93ae3e818b42a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 03:44:19 2018 -0400
|
|
|
|
document tuning vm.max_map_count
|
|
|
|
commit d12cf324dd01a731f17f71cf4a1187e0f2bdfc96
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 03:27:30 2018 -0400
|
|
|
|
add documentation on testing
|
|
|
|
commit 2a31c7291b973771a7da7c8766966fed6aac9192
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 03:15:55 2018 -0400
|
|
|
|
add basic documentation on configuration
|
|
|
|
commit 642eed81c0a664504e6a1a33bff569b4fc428f0c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 02:57:15 2018 -0400
|
|
|
|
allow using larger guards on large allocations
|
|
|
|
commit 9b7691a2a745f8d89e36d6103947bdeee1b31a3c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 02:52:20 2018 -0400
|
|
|
|
take canaries into account for the offset test
|
|
|
|
commit 71d52d981ea8e96961098e990ecd505ff3851b9e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Oct 4 02:40:51 2018 -0400
|
|
|
|
fix output of size class offset test
|
|
|
|
commit 15e5e2d0ac4495f97ae3fc11cfc02d3433ce9d53
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 17:23:20 2018 -0400
|
|
|
|
fix typo in README
|
|
|
|
commit 5811bd184c3a72ab9ab0cd0f955168627b77aed2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 17:17:20 2018 -0400
|
|
|
|
avoid unnecessary preprocessor use for canary mask
|
|
|
|
commit 93fcc6a9780e45af260aedc0a2c96b7ca247260e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 17:15:38 2018 -0400
|
|
|
|
add simple string overflow test
|
|
|
|
commit b24569b6ca8265d21e2266016fe9245b33b45343
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 17:09:57 2018 -0400
|
|
|
|
zero leading byte of canaries
|
|
|
|
commit 1fbf0e27f594105816cc374fc587575cbc1066c8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 16:55:25 2018 -0400
|
|
|
|
make error reporting more robust
|
|
|
|
commit 6dfe33b4f1b7649cfe80aa8ea50de4964caf6658
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 16:22:28 2018 -0400
|
|
|
|
add prefix to reported errors
|
|
|
|
commit 6372fee41078159777ef055f9790df447c27d84a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 16:00:11 2018 -0400
|
|
|
|
use consistent macro naming convention
|
|
|
|
commit 829ace403fa22dae1d4971f20ae1e2a354b05b1f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 14:37:05 2018 -0400
|
|
|
|
document free_sized API
|
|
|
|
commit c3a580727a9a844da05ae4e2787a937253b09427
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Oct 3 13:18:51 2018 -0400
|
|
|
|
add MIT license
|
|
|
|
commit cf449b3df4d1c611f168a6b47687091a14da2494
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 18 17:28:52 2018 -0400
|
|
|
|
add sized deallocation support
|
|
|
|
commit 82314f4471ea27bd09cbfa83a2380f0f98f600c5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 14:51:36 2018 -0400
|
|
|
|
make get_size_info straightforward for zero size
|
|
|
|
commit 7a404ddbf2d2648187b34295b75de084d9ae56f4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 14:44:15 2018 -0400
|
|
|
|
optimize size calculation for 16 byte spaced sizes
|
|
|
|
commit 2d6ad18aa4ce46a82b84972e11f216b5ba2a85ac
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 14:18:13 2018 -0400
|
|
|
|
make function naming a bit more consistent
|
|
|
|
commit 684291bf6abfea71c7f07d3ee8e5b5032e309419
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 14:13:18 2018 -0400
|
|
|
|
avoid overhead of init check for slab deallocation
|
|
|
|
commit ef098fea06286ea18d83cf0ea5833ee8f14f00fa
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 14:12:27 2018 -0400
|
|
|
|
simplify init function
|
|
|
|
commit 433af6d4bac8c3bff384abcb72399148346ad984
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 10:22:28 2018 -0400
|
|
|
|
drop 128-bit keys from ChaCha implementation
|
|
|
|
commit b52d9ca831f9d8b94f0e300f0eee29328edca4ca
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 11 05:17:22 2018 -0400
|
|
|
|
aggressive write-after-free check is implemented
|
|
|
|
commit 61684925e8bc737596d161857f3b1faac42090ee
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Sep 10 17:42:58 2018 -0400
|
|
|
|
fix overly naive slab allocation alignment support
|
|
|
|
commit 9a1acce5eb2772fbaddd1fa75e4fa18490bd9f4b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 16:32:51 2018 -0400
|
|
|
|
optimize calloc when zero on free is disabled
|
|
|
|
commit 8f921e30beb1d628825708f0ecf26c9241556109
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 06:32:07 2018 -0400
|
|
|
|
add kernel feature wishlist
|
|
|
|
commit 7ae7abedea8639d3e069a4d4a1e2cd6522836c3f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 02:53:15 2018 -0400
|
|
|
|
mark more unlikely code paths
|
|
|
|
commit 191f9667df67adab8b0b6ff0456f6a6095e32ce4
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 02:10:37 2018 -0400
|
|
|
|
add missing include
|
|
|
|
commit 49af83a817907cd9f6d7f35b8ad9bfdf2feb602a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 01:08:51 2018 -0400
|
|
|
|
wrap mutex type to enable future optimization
|
|
|
|
commit fc2473e7ee98b509129f760a0099387c6b173bfb
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 00:35:08 2018 -0400
|
|
|
|
add configuration for canaries
|
|
|
|
commit 96c538d90fb637834fb5b530a8d1094bde4d2ccc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 00:33:51 2018 -0400
|
|
|
|
add configuration for zero on free
|
|
|
|
commit ba3a8b0058462765184a4e239cbe7b16ef12c56c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 00:25:02 2018 -0400
|
|
|
|
add slot randomization to configuration header
|
|
|
|
commit bed303a76f86fdb13024d955345cfd77c9d61f35
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 00:22:51 2018 -0400
|
|
|
|
remove unnecessary else branch
|
|
|
|
commit d398384b90723ae17d06f5db29ce4e18ddbed292
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 00:17:22 2018 -0400
|
|
|
|
add header for configuration
|
|
|
|
commit 99d68238d2f0375162a96deda8a16848fdb0e158
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Sep 7 00:00:32 2018 -0400
|
|
|
|
implement slab allocation write-after-free check
|
|
|
|
commit 918f0d33022a6a8f6f5df04b362202fff16d183f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 23:48:47 2018 -0400
|
|
|
|
improve write-after-free tests
|
|
|
|
commit 3751b85e47831a4089c6f5a17a68eb7422f34ea8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 19:52:09 2018 -0400
|
|
|
|
document minimum musl version for external use
|
|
|
|
commit 684e63a87801ebc34432c331c9c8b7730ecd9f54
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 19:43:18 2018 -0400
|
|
|
|
handle pthread_atfork calling into malloc
|
|
|
|
This results in compatibility with the malloc replacement support added
|
|
in musl 1.1.20.
|
|
|
|
commit 1be74ec40d9ccdff4b1e2eb5e97604557e308cbb
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 18:53:06 2018 -0400
|
|
|
|
add initial guard slabs implementation
|
|
|
|
commit cc1e79fdbaeb6bf4b27dee52d479202a81a2fb76
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 18:41:00 2018 -0400
|
|
|
|
abstract metadata allocation to allow guard slabs
|
|
|
|
commit d8e18e0011587b6c8ad95b4dd12c8ea9c5065497
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 16:30:22 2018 -0400
|
|
|
|
aligned_alloc is now the same as BSD memalign
|
|
|
|
The resolution to DR 460 (which is explicitly included in C17) removed
|
|
the requirement for the size to be a multiple of the alignment.
|
|
|
|
commit 0d3c2e1988ebc0821841127a585572e20d8e4ce6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 16:02:15 2018 -0400
|
|
|
|
no need for a dedicated init rng
|
|
|
|
commit 8624201f061d469251f7b6ff22c7feb8c5a2e664
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 15:07:01 2018 -0400
|
|
|
|
refresh canary value when allocating free slabs
|
|
|
|
commit a875951e825a9b8c4bbcf4e058fa4cc8d92e2935
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 14:35:08 2018 -0400
|
|
|
|
fix build with musl
|
|
|
|
commit e891b40588c8d00aa2ef649c5d9b500123b33931
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Sep 6 14:17:06 2018 -0400
|
|
|
|
implement Android malloc_disable/malloc_enable API
|
|
|
|
commit 3a532b17dc38408a431e2b70f038a91351ec421b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Sep 5 05:17:40 2018 -0400
|
|
|
|
implement in-place shrinking for large allocations
|
|
|
|
commit 645209dcbf664123c726db6f6a71a225bcebeb1b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Sep 5 03:41:56 2018 -0400
|
|
|
|
remove unnecessary debugging code
|
|
|
|
commit bf55fad6d04c3ffb031886eba155403ed7dcaa9b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Sep 5 00:19:27 2018 -0400
|
|
|
|
document that slab canaries are implemented
|
|
|
|
commit 9ddd53d56c0dc30532d2e915da7845a7da18092e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 08:36:48 2018 -0400
|
|
|
|
implement initial slab allocation canaries
|
|
|
|
commit 5017500a4784942f50e9f6e6da13832bc19da11f
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Sep 4 09:06:23 2018 -0400
|
|
|
|
add simple overflow tests
|
|
|
|
commit 1a7b8079d09c2965724882819dabf284d62b816b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 19:58:57 2018 -0400
|
|
|
|
reuse is_init when possible
|
|
|
|
commit 7733047c7bbab01d755f649f7b29bd2356c74887
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 19:41:26 2018 -0400
|
|
|
|
trigger early initialization in a conservative way
|
|
|
|
commit 2ec65306dd8252c7c0d1ebdd9db4dfbe19d961f7
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 06:05:37 2018 -0400
|
|
|
|
expand documentation on supported environments
|
|
|
|
commit 8bb686e697d80171e839ab965e120d4665786a26
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 05:24:25 2018 -0400
|
|
|
|
add missing prefix defines
|
|
|
|
commit 9c74a67068002f6c90dd711542a3b4c2a763af25
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 05:13:07 2018 -0400
|
|
|
|
malloc_get_state/malloc_set_state are obsolete too
|
|
|
|
commit 7e088dc870807cf1d050273e843fa7bac6d53137
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 05:08:45 2018 -0400
|
|
|
|
add stubs for Android extensions
|
|
|
|
commit 2dd2471b4a8db4cff7a7e28988259b18f94e329d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 02:27:49 2018 -0400
|
|
|
|
enable more linker sanity checks
|
|
|
|
commit 39e81bd486f30c60eee3f09bbf12c50beaa7d2e3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 02:12:45 2018 -0400
|
|
|
|
using -lpthread for linking isn't necessary
|
|
|
|
commit 89c624b7550f8fed7b300b9ce22f7866b74d5ece
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 02:08:44 2018 -0400
|
|
|
|
mark page management error code paths as unlikely
|
|
|
|
commit e4648192c03912f17886ce5e97c7055875784b2b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Sep 2 02:03:27 2018 -0400
|
|
|
|
split out code for managing page spans
|
|
|
|
commit e93d0392140f1aac40a9888f83f8f3f5d7c09fe6
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Sep 1 10:20:23 2018 -0400
|
|
|
|
only use reserved memory for regions hash table
|
|
|
|
commit c3a4829d77a68026e46059f10f17bd05493c1ef8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Sep 1 02:38:00 2018 -0400
|
|
|
|
remove unnecessary special case from realloc
|
|
|
|
commit f441dfe2e33650f8741a156cfb5bc0275a4e4b5e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 31 23:10:26 2018 -0400
|
|
|
|
align size class metadata to cacheline size
|
|
|
|
commit fad10ce943dec81dde6c8c114183fc4d02be2038
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 31 22:42:34 2018 -0400
|
|
|
|
use FIFO queue for free slabs
|
|
|
|
commit dba330fde73be42ec36cabd2486a40182257d980
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 11:07:20 2018 -0400
|
|
|
|
expand documentation in the README
|
|
|
|
commit 3f808958223084b246d656019bff9ca11c8a9612
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 09:29:15 2018 -0400
|
|
|
|
ignore pad argument to malloc_trim per glibc
|
|
|
|
The pad argument is only used by the main arena for sbrk in glibc, with
|
|
every other page size gap purged with MADV_DONTNEED. It makes more sense
|
|
to simply treat it as an ignored legacy parameter rather than trying to
|
|
come up with a sensible way to use it for keeping cached free slabs.
|
|
|
|
commit af393afc090259d44cdc1ae69effdd02efc1628d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 09:08:33 2018 -0400
|
|
|
|
make preload script for testing a bit more robust
|
|
|
|
commit 1ea997b887ab23b9374a34f30acd6b88bd617e32
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 08:48:09 2018 -0400
|
|
|
|
add missing headers to malloc.h
|
|
|
|
commit 2b0f7aa985064efd7d9f8faababdf5c0b7e04d56
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 07:13:18 2018 -0400
|
|
|
|
use a consistent name for size class integer index
|
|
|
|
commit 0f5f2bf6c953a4b4243d2cb3952ab0494a57e025
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 06:44:58 2018 -0400
|
|
|
|
add basic initial heuristic for freeing slabs
|
|
|
|
commit 456dfe4154e2b51836f58c394ee29a2e01844138
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 05:18:38 2018 -0400
|
|
|
|
add support for purging and protecting empty slabs
|
|
|
|
commit bb176e09bc874cad64ee558a93ffde39835a13b0
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 05:42:45 2018 -0400
|
|
|
|
remove useless code in the empty_slabs path
|
|
|
|
commit 29df2429c2c23d3bd90d135c8a6b8760f18a02dc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 05:27:16 2018 -0400
|
|
|
|
empty_slabs will remain a singly-linked list
|
|
|
|
commit f94068ea63c6d6bbab646ea4aca1894a92e76fc2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 04:55:39 2018 -0400
|
|
|
|
rename free_slabs to empty_slabs
|
|
|
|
commit b6d4af872f9be4b0e0ddcc21da66f5d382c439bd
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 03:03:19 2018 -0400
|
|
|
|
move libdivide.h to third_party/libdivide.h
|
|
|
|
commit 99fcddc22386fe4554b6c660229ada676c793843
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 30 01:16:58 2018 -0400
|
|
|
|
use much faster get_random_{type}_uniform approach
|
|
|
|
commit 1c181557c71f4d68de4686d904ccaaa9f156fc79
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 15:20:56 2018 -0400
|
|
|
|
add -fno-plt as an optimization
|
|
|
|
commit 6f9de3e667ed0c5bc6eb152e95d750c7b7fb26f8
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 15:13:53 2018 -0400
|
|
|
|
add inline hint to get_size_info
|
|
|
|
commit e85c69a0a4b7a067da5c7930505929abffb5f041
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 15:06:49 2018 -0400
|
|
|
|
fix builds with prefix
|
|
|
|
commit becadc57a55cf2d4431ac1bec987ed125c8207b1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 13:58:58 2018 -0400
|
|
|
|
get rid of unused MIN_ALIGN definition
|
|
|
|
commit 2684a98eabcf4a668a98b23b18babf9ed6d43c6c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 13:43:35 2018 -0400
|
|
|
|
add initial malloc_object_size extensions
|
|
|
|
commit 00b2613e1606c4d46dc1510ad1a53b3a75ee50cf
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 13:04:52 2018 -0400
|
|
|
|
add mmap MAP_FIXED wrapper for dropping slabs
|
|
|
|
commit 0e2f3d101521453db8c9fdbfea881982037cce27
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 10:59:37 2018 -0400
|
|
|
|
sanity check page size at runtime
|
|
|
|
commit d779d41721b9469c41f3ff043cfedb074e701b8b
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 10:52:10 2018 -0400
|
|
|
|
wrap more memory mapping implementation details
|
|
|
|
commit 1cb28531a87ebe7c6ae862dc17bde7ce45db5449
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 10:43:54 2018 -0400
|
|
|
|
add wrapper for mremap with sanity check
|
|
|
|
commit 5bc6820c24d7fb63f969be4447e7fbebc0673797
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 03:24:28 2018 -0400
|
|
|
|
rely on mmap rounding to page size when possible
|
|
|
|
commit 58d929c0f06081d89ba93a6307b8f9fbf32752cc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Wed Aug 29 00:53:12 2018 -0400
|
|
|
|
split out low-level memory mapping wrappers
|
|
|
|
commit 8b42e8c3d68e3d1e08dc3709145960c6e536bf48
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 22:46:20 2018 -0400
|
|
|
|
make sure errno is always set on failure
|
|
|
|
commit 66aa98dbd91119a99ed5a71831302477568e3c2d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 22:41:18 2018 -0400
|
|
|
|
sanity-check mmap errno on failure too
|
|
|
|
commit 705b6a4f8daa4008fc547edc0b258383e190da0d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 22:21:38 2018 -0400
|
|
|
|
make non-out-of-memory mprotect errors fatal
|
|
|
|
commit 19c46d16f13e2ac1218d3f61a2d2e8382b462280
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 21:31:20 2018 -0400
|
|
|
|
check pthread_atfork return value
|
|
|
|
commit 0e2bc8a1cfff8c9dedef823f59316be2ecd86c2c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 11:44:23 2018 -0400
|
|
|
|
make sure RELRO is enabled on every toolchain
|
|
|
|
commit e72674e358959524411a1613bb73b4d4110ea877
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 11:13:17 2018 -0400
|
|
|
|
detect missing symbols when linking
|
|
|
|
commit 803811a6ac703b2693499f5f03729dce16617548
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 28 09:49:18 2018 -0400
|
|
|
|
add support for using mremap
|
|
|
|
commit 718bf82f966e6963fc214792e36be38d4bb47bc2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 09:29:14 2018 -0400
|
|
|
|
add inline hints for slab_allocate and slab_free
|
|
|
|
commit 33f862ec1949659a5b629f14f72d676cf4e4f02e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 09:23:35 2018 -0400
|
|
|
|
add inline hints for init and enforce_init
|
|
|
|
commit 67b9608ccf87aa69cccd11a6960874ef60b48ced
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 09:21:42 2018 -0400
|
|
|
|
avoid duplicated init code calculating slab size
|
|
|
|
commit eec85b0c8cffc89c25704d0b87e71e7f07308d15
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 07:49:50 2018 -0400
|
|
|
|
add chosen libdivide license (Boost) to CREDITS
|
|
|
|
commit c7b24f63f16d2a00c7fbae496ab497f8d2bc0490
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 06:57:44 2018 -0400
|
|
|
|
use libdivide for substantially faster division
|
|
|
|
commit 63b0c39343487392f8a5a29baa0a78d869833554
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 05:16:47 2018 -0400
|
|
|
|
reorder size_class struct for better performance
|
|
|
|
commit b424c957372605fa2fc2c83097ae30bbb2ac3fca
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Mon Aug 27 01:14:15 2018 -0400
|
|
|
|
clarify memory is zero on init without more writes
|
|
|
|
commit 02db36c4bb25cb48ada3f2290e95bfd642fb9937
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 07:27:19 2018 -0400
|
|
|
|
update CREDITS with ChaCha8 implementation
|
|
|
|
commit 1b3d485e87573867f5368552c268b19bc40b79b5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 07:19:58 2018 -0400
|
|
|
|
clarify that the slab design isn't like jemalloc
|
|
|
|
commit c97bbc141cd225d7a9afade2ffa2ccdc11438e66
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 07:11:22 2018 -0400
|
|
|
|
add missing word
|
|
|
|
commit f793a2719f586a76f1b08642aa3e980ab0158a91
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 06:23:24 2018 -0400
|
|
|
|
add some basic initial documentation to the README
|
|
|
|
commit c60fbfb0295af0640fda0371af17a9466aaba323
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 06:21:09 2018 -0400
|
|
|
|
output markdown table from calculate_waste
|
|
|
|
commit 497f71ac652d8697b1fa0b28e92cefbd21b150ef
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 04:51:38 2018 -0400
|
|
|
|
reorder offset test output
|
|
|
|
commit 14ca7d7c3f9893b01ef7302a8360fb74306b0084
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 04:42:01 2018 -0400
|
|
|
|
randomize large allocation guard size
|
|
|
|
commit a13a45a17da2d540fe3f7d96c4e639f53ce4fc53
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 04:37:43 2018 -0400
|
|
|
|
hold regions_lock in alloc_aligned
|
|
|
|
commit bec20a39cf2e5cd85df668eb1a3b5f52496414cb
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 03:15:13 2018 -0400
|
|
|
|
add offset test
|
|
|
|
commit 700e06c2db0768adb6d26697836db86ebab762fe
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sun Aug 26 00:02:35 2018 -0400
|
|
|
|
manually specialize the CSPRNG cache
|
|
|
|
commit c41e659383141da2adbadcf8d92f1dbee83ae269
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 23:00:00 2018 -0400
|
|
|
|
use ChaCha8-based CSPRNG
|
|
|
|
commit 2b7c9362bbf0370b4f819d244375844946391c6a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 18:32:44 2018 -0400
|
|
|
|
consume fewer random bytes for slab randomization
|
|
|
|
commit c5d76179a5cccae5b75dd1b1f2c4037b362a9a35
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 18:04:55 2018 -0400
|
|
|
|
improve interaction of slot rand with slot mask
|
|
|
|
commit 173dd6e7a5636a098e0820ea2ce4a999781a6a61
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 18:02:13 2018 -0400
|
|
|
|
randomize slot selection for empty slabs too
|
|
|
|
commit c335c43dd78ce915f7639bad6bb0df77d5ebf6a5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 16:41:07 2018 -0400
|
|
|
|
simplify slab out-of-memory error handling
|
|
|
|
commit 7bcfa3f08be436a4b7ff34cf96c2dd12e6d0680c
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 15:43:50 2018 -0400
|
|
|
|
tune slab metadata allocation
|
|
|
|
commit 4777ee0c8591986380f8e6c161f15536c3d0af21
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 15:21:50 2018 -0400
|
|
|
|
special case division for page size slabs
|
|
|
|
commit ec78add6ab1db373be9a8a9f7e22ef4bfd9bc716
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 03:09:09 2018 -0400
|
|
|
|
define ffzl utility function
|
|
|
|
commit f08d4d31dbe4404a0ab74cc405f2bd24a883cb57
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 03:02:39 2018 -0400
|
|
|
|
randomize slab slot choice
|
|
|
|
commit 965c3202b472743406f1943f031ba2bcdddfcb41
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 02:48:47 2018 -0400
|
|
|
|
finish implementation of zero byte size class
|
|
|
|
commit f97a0ef8b1dd2442d7dedab4c8a0ece649264084
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 01:09:15 2018 -0400
|
|
|
|
use a more appropriate type for masked bitmaps
|
|
|
|
commit f3c850250964823ede4efd88f891ee0dcb9043a9
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Sat Aug 25 00:21:02 2018 -0400
|
|
|
|
add CSPRNGs for regions and slabs
|
|
|
|
commit 510291646bcca64451e70dd714cc59d7b022bacc
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 18:58:55 2018 -0400
|
|
|
|
document minimum versions for dependencies
|
|
|
|
commit 71dde7c4f832d34f44015285e01b1b1e3fea868e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 18:44:49 2018 -0400
|
|
|
|
provide getrandom wrapper to support glibc < 2.25
|
|
|
|
Debian stretch (currently stable) only has glibc 2.24...
|
|
|
|
commit 35c9e6f16d670f608c68db7304f6eed408eb6186
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 05:53:17 2018 -0400
|
|
|
|
add delayed double free tests
|
|
|
|
commit aaa4eeca4d57efe6b0a21a10df5ca7833cb8b6ca
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 05:25:25 2018 -0400
|
|
|
|
add a clean target for the memory corruption tests
|
|
|
|
commit 805bdc60879e0f5ca2054e74b6eeab255de76fbd
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 05:18:20 2018 -0400
|
|
|
|
add an extra sanity check for unallocated metadata
|
|
|
|
commit bde8c3c29b19a658980fc6e365a667ffd04d670d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 05:09:33 2018 -0400
|
|
|
|
add another test for invalid small region frees
|
|
|
|
commit fe85116891b3317e1e99a8ee534467bae5eea77e
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 05:02:00 2018 -0400
|
|
|
|
add uninitialized allocator tests
|
|
|
|
commit 2d168b0516f7f1a70f8dba262d2ea8bbd4018b95
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 04:51:52 2018 -0400
|
|
|
|
check for double free slightly earlier
|
|
|
|
commit 0a79e82474c0ce7f2b0d2beeb76299369ffcf8a5
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 04:45:48 2018 -0400
|
|
|
|
add basic invalid free tests
|
|
|
|
commit 97b693d8620daa98d7f2262fc6291aeee051b9ef
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 04:07:46 2018 -0400
|
|
|
|
stop treating guard size as a constant
|
|
|
|
commit 83dabbd8faa477a7246a220c9a96ff0bf24404db
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 03:52:01 2018 -0400
|
|
|
|
fix handling of random bases for class regions
|
|
|
|
commit 0d51459dc928b90d63933380663a70c8c2b4b8ea
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 03:22:52 2018 -0400
|
|
|
|
add a special memory protected 0 byte size class
|
|
|
|
commit 27ac1e21bcf3a89e6ddf913d993125da193f00cd
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 03:09:23 2018 -0400
|
|
|
|
add initial simple memory corruption tests
|
|
|
|
commit 7a86b67778c4cbedbb4cbd0bd7da983ea82b10d0
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 02:55:53 2018 -0400
|
|
|
|
add unaligned free check for small allocations
|
|
|
|
commit 2aee424b7b32dd27059730e427164b8f63bf5df3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Fri Aug 24 02:09:20 2018 -0400
|
|
|
|
fix inconsistent whitespace
|
|
|
|
commit a874a61099337dad11920a9ea60ebdf1dd8acee1
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:57:09 2018 -0400
|
|
|
|
adjust slot count for 12288 byte size class
|
|
|
|
commit 127f110126824c286d90f93d2e1cec3f411e4388
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:56:17 2018 -0400
|
|
|
|
adjust slot count for 10240 byte size class
|
|
|
|
commit b7b353a54e7d6d5c2ca292670fea392c32b6d18d
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:53:55 2018 -0400
|
|
|
|
print out the calculated slab sizes too
|
|
|
|
commit c59c97c65b5ad7e152b722bdb984aa0adbc2ad99
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:53:10 2018 -0400
|
|
|
|
adjust slot count for 48 byte size class
|
|
|
|
commit 56e4c7e042515d2f5d476a1d01cc5a3ee0341cc3
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:42:17 2018 -0400
|
|
|
|
adjust slot count for 224 byte size class
|
|
|
|
commit 5a1a76f94e266820de6fbdab06883738ced12f14
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:39:32 2018 -0400
|
|
|
|
calculate internal slab fragmentation from slots
|
|
|
|
commit 5bdf94da4a817c0b6a6e4e5548e4be7f88af7b2a
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:29:42 2018 -0400
|
|
|
|
calculate internal fragmentation for size classes
|
|
|
|
commit 4aa0fab4f424fb5ccd7571c8968f45a2af5ea534
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 17:15:50 2018 -0400
|
|
|
|
avoid deadlocks after forking threaded processes
|
|
|
|
commit daa44905eed56f240d7ec685a8bc229895b20ec2
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Thu Aug 23 16:30:44 2018 -0400
|
|
|
|
implement a cache for the CSPRNG
|
|
|
|
commit 70d61b6662a896b420f674fd31c6c9825772b150
|
|
Author: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue Aug 21 15:23:22 2018 -0400
|
|
|
|
initial commit
|