llvm-project/compiler-rt/lib/scudo
Kostya Kortchinsky 3e5360f194 [scudo][standalone] Fix malloc_iterate
Summary:
cferris's Bionic tests found an issue in Scudo's `malloc_iterate`.

We were inclusive of both boundaries, which resulted in a `Block` that
was located on said boundary to be possibly accounted for twice, or
just being accounted for while iterating on regions that are not ours
(usually the unmapped ones in between Primary regions).

The fix is to exclude the upper boundary in `iterateOverChunks`, and
add a regression test.

This additionally corrects a typo in a comment, and change the 64-bit
Primary iteration function to not assume that `BatchClassId` is 0.

Reviewers: cferris, morehouse, hctim, vitalybuka, eugenis

Reviewed By: hctim

Subscribers: delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

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

llvm-svn: 369400
2019-08-20 16:17:08 +00:00
..
standalone [scudo][standalone] Fix malloc_iterate 2019-08-20 16:17:08 +00:00
CMakeLists.txt Removed -mno-omit-leaf-frame-pointer from flags. 2019-07-16 17:13:02 +00:00
scudo_allocator.cpp [GWP-ASan] [Scudo] Add GWP-ASan backtrace for alloc/free to Scudo. 2019-07-02 20:33:19 +00: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 the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_errors.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00: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 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
scudo_utils.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00