llvm-project/compiler-rt/lib/scudo
Kostya Kortchinsky f0703cb1b2 [scudo][standalone] Correct min/max region indices
The original code to keep track of the minimum and maximum indices
of allocated 32-bit primary regions was sketchy at best.

`MinRegionIndex` & `MaxRegionIndex` were shared between all size
classes, and could (theoretically) have been updated concurrently. This
didn't materialize anywhere I could see, but still it's not proper.

This changes those min/max indices by making them class specific rather
than global: classes are locked when growing, so there is no
concurrency there. This also allows to simplify some of the 32-bit
release code, that now doesn't have to go through all the regions to
get the proper min/max. Iterate and unmap will no longer have access to
the global min/max, but they aren't used as much so this is fine.

Differential Revision: https://reviews.llvm.org/D91106
2020-11-16 12:43:10 -08:00
..
standalone [scudo][standalone] Correct min/max region indices 2020-11-16 12:43:10 -08:00
CMakeLists.txt [GWP-ASan] Crash Handler API. 2020-02-05 15:39:17 -08:00
scudo_allocator.cpp [compiler-rt] [scudo] Fix typo in function attribute 2020-09-17 16:57:30 +02:00
scudo_allocator.h [scudo][NFC] Remove unneeded template from scudo::CombinedAllocator 2019-05-01 19:36:26 +00:00
scudo_allocator_combined.h [scudo][NFC] Remove unneeded template from scudo::CombinedAllocator 2019-05-01 19:36:26 +00:00
scudo_allocator_secondary.h Update compiler-rt cpplint.py 2019-09-11 21:33:06 +00:00
scudo_crc32.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_crc32.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
scudo_errors.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
scudo_errors.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_flags.cpp Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +00:00
scudo_flags.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_flags.inc [scudo] Tuning changes based on feedback from current use 2019-01-24 15:56:54 +00:00
scudo_interface_internal.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_malloc.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_new_delete.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_platform.h [scudo] Tuning changes based on feedback from current use 2019-01-24 15:56:54 +00:00
scudo_termination.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_tsd.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
scudo_tsd_exclusive.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_tsd_exclusive.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_tsd_shared.cpp [scudo] Correct a behavior on the shared TSD registry 2019-06-25 19:58:11 +00:00
scudo_tsd_shared.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_utils.cpp [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00
scudo_utils.h [compiler-rt] Replace INLINE with inline 2020-09-17 16:24:20 +02:00