llvm-project/compiler-rt/lib/scudo
Kostya Kortchinsky 476f21d87e [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary
Summary:
Currently `TransferBatch` are located within the same memory regions as
"regular" chunks. This is not ideal for security: they make for an interesting
target to overwrite, and are not protected by the frontend (namely, Scudo).

To solve this, we re-introduce `kUseSeparateSizeClassForBatch` for the 32-bit
Primary allowing for `TransferBatch` to end up in their own memory region.
Currently only Scudo would use this new feature, the default behavior remains
unchanged. The separate `kBatchClassID` was used for a brief period of time
previously but removed when the 64-bit ended up using the "free array".

Reviewers: alekseyshl, kcc, eugenis

Reviewed By: alekseyshl

Subscribers: llvm-commits, kubamracek

Differential Revision: https://reviews.llvm.org/D37082

llvm-svn: 311891
2017-08-28 15:20:02 +00:00
..
CMakeLists.txt [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_allocator.cpp [scudo] Application & platform compatibility changes 2017-08-16 16:40:48 +00:00
scudo_allocator.h [sanitizer] Re-introduce kUseSeparateSizeClassForBatch for the 32-bit Primary 2017-08-28 15:20:02 +00:00
scudo_allocator_combined.h [scudo] Do not grab a cache for secondary allocation & per related changes 2017-07-13 21:01:19 +00:00
scudo_allocator_secondary.h [Sanitizers] Move cached allocator_may_return_null flag to sanitizer_allocator 2017-06-20 21:23:02 +00:00
scudo_crc32.cpp [scudo] CRC32 optimizations 2017-05-09 15:12:38 +00:00
scudo_crc32.h [scudo] CRC32 optimizations 2017-05-09 15:12:38 +00:00
scudo_flags.cpp [scudo] Quarantine overhaul 2017-07-24 15:29:38 +00:00
scudo_flags.h [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_flags.inc [scudo] Quarantine overhaul 2017-07-24 15:29:38 +00:00
scudo_interceptors.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_new_delete.cpp [scudo] Application & platform compatibility changes 2017-08-16 16:40:48 +00:00
scudo_termination.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_tls.h [scudo] PRNG makeover 2017-07-12 15:29:08 +00:00
scudo_tls_android.cpp [scudo] Change aligned alloc functions to be more compliant & perf changes 2017-06-29 16:45:20 +00:00
scudo_tls_android.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_tls_context_android.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_tls_context_linux.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_tls_linux.cpp [scudo] Check the return values of the pthread_* functions 2017-05-26 15:39:22 +00:00
scudo_tls_linux.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_utils.cpp [scudo] PRNG makeover 2017-07-12 15:29:08 +00:00
scudo_utils.h [sanitizers] Add a blocking boolean to GetRandom prototype 2017-08-14 14:53:47 +00:00