|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
b15cf06f |
| 15-Jul-2022 |
Leonard Grey <[email protected]> |
[lsan][nfc] Add missing newline to VReport
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
e06a81d8 |
| 31-May-2022 |
Andrew Ng <[email protected]> |
[LSAN] Fix up LSAN weak symbols for Windows
Differential Revision: https://reviews.llvm.org/D126703
|
|
Revision tags: llvmorg-14.0.4 |
|
| #
8246b2e1 |
| 23-May-2022 |
Mariusz Borsa <[email protected]> |
[Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files
This is a follow up to [Sanitizers][Darwin] Rename Apple macro SANITIZER_MAC -> SANITIZER_APPLE (D125816)
Performed a
[Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files
This is a follow up to [Sanitizers][Darwin] Rename Apple macro SANITIZER_MAC -> SANITIZER_APPLE (D125816)
Performed a global search/replace as in title against LLVM sources
Differential Revision: https://reviews.llvm.org/D126263
show more ...
|
| #
c8644ea8 |
| 24-May-2022 |
Leonard Chan <[email protected]> |
[compiler-rt][lsan] Update CanBeAHeapPointer for AArch64
While attempting to get the 64-bit lsan allocator working for Fuchsia, I noticed this function would incorrectly return false for pointers re
[compiler-rt][lsan] Update CanBeAHeapPointer for AArch64
While attempting to get the 64-bit lsan allocator working for Fuchsia, I noticed this function would incorrectly return false for pointers returned by the 64-bit allocator. On AArch64, this function attempts to get the VMA size dynamically by counting the number of leading zeros from the function frame address. This will fail if the frame address is significantly below an allocated pointer (that is, the frame address has more leading zeros than an allocated pointer). This is possible on Fuchsia and linux (when not called from the initial thread stack).
It seems the intended use of this function is to speed up pointer scanning by filtering out addresses that user code might not be able to access. Other platforms this check is done on seem to hardcode the VMA size/shift, so it seems appropriate to do this for aarch64 as well. This implies pointers on aarch64 where the VMA size is <64 will pass through, but bad pointers will still be caught by subsequent scan checks.
This patch also renames the function to something more fitting of what it's trying to do.
Differential Revision: https://reviews.llvm.org/D123814
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
a63932a8 |
| 15-Mar-2022 |
Vitaly Buka <[email protected]> |
[lsan] Allow suppression of "unknown module"
If sanitizer cannot determine name of the module it will use "<unknown module>". Then it can be suppressed if needed.
Reviewed By: kda
Differential Rev
[lsan] Allow suppression of "unknown module"
If sanitizer cannot determine name of the module it will use "<unknown module>". Then it can be suppressed if needed.
Reviewed By: kda
Differential Revision: https://reviews.llvm.org/D121674
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
f86deb18 |
| 09-Dec-2021 |
Vitaly Buka <[email protected]> |
[lsan] Move out suppression of invalid PCs from StopTheWorld
This removes the last use of StackDepot from StopTheWorld.
Depends on D115284.
Reviewed By: morehouse
Differential Revision: https://r
[lsan] Move out suppression of invalid PCs from StopTheWorld
This removes the last use of StackDepot from StopTheWorld.
Depends on D115284.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D115319
show more ...
|
| #
f72e5094 |
| 08-Dec-2021 |
Vitaly Buka <[email protected]> |
[lsan] Reduce StopTheWorld access to StackDepot
StackDepot locks some stuff. As is there is small probability to deadlock if we stop thread which locked the Depot.
We need either Lock/Unlock StackD
[lsan] Reduce StopTheWorld access to StackDepot
StackDepot locks some stuff. As is there is small probability to deadlock if we stop thread which locked the Depot.
We need either Lock/Unlock StackDepot for StopTheWorld, or don't interact with StackDepot from there.
This patch does not run LeakReport under StopTheWorld. LeakReport contains most of StackDepot access.
As a bonus this patch will help to resolve kMaxLeaksConsidered FIXME.
Depends on D114498.
Reviewed By: morehouse, kstoimenov
Differential Revision: https://reviews.llvm.org/D115284
show more ...
|
| #
a9a14990 |
| 08-Dec-2021 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Change LeakSuppressionContext interface
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D115318
|
| #
b1c369e0 |
| 08-Dec-2021 |
Vitaly Buka <[email protected]> |
[lsan] Replace atomic_store/atomic_load with atomic_fetch_add
|
| #
dd1abb11 |
| 08-Dec-2021 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Move method implementation up
|
| #
b79ea567 |
| 08-Dec-2021 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Clang-format lsan_common.cpp
|
| #
8ed4d281 |
| 08-Dec-2021 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Use kIgnored in MarkInvalidPCCb
kIgnored didn't exist when the code was added, but it should be equivalent to kReachable. The goal is to refactor MarkInvalidPCCb to avoid StackDepotGet i
[NFC][lsan] Use kIgnored in MarkInvalidPCCb
kIgnored didn't exist when the code was added, but it should be equivalent to kReachable. The goal is to refactor MarkInvalidPCCb to avoid StackDepotGet in StopTheWorld.
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
64d44208 |
| 12-Nov-2021 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Simplify root_regions initialization
|
| #
629b40da |
| 03-Nov-2021 |
Martin Liska <[email protected]> |
Fix -Wformat warnings reported by GCC.
Differential Revision: https://reviews.llvm.org/D113099
|
| #
ca0036df |
| 12-Oct-2021 |
Vitaly Buka <[email protected]> |
[sanitizer] Remove StackDepotReverseMap
Now StackDepotGet can retrive the stack in O(1).
Depends on D111612.
Reviewed By: dvyukov
Differential Revision: https://reviews.llvm.org/D111613
|
| #
051d766b |
| 01-Oct-2021 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Expand use StackDepotReverseMap
Before StackDepotReverseMap was used only by ProcessPC.
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1 |
|
| #
56debbf5 |
| 28-Jul-2021 |
Dmitry Vyukov <[email protected]> |
sanitizers: switch BlockingMutex(LINKER_INITIALIZED) to Mutex
Mutex does not support LINKER_INITIALIZED support. As preparation to switching BlockingMutex to Mutex, proactively replace all BlockingM
sanitizers: switch BlockingMutex(LINKER_INITIALIZED) to Mutex
Mutex does not support LINKER_INITIALIZED support. As preparation to switching BlockingMutex to Mutex, proactively replace all BlockingMutex(LINKER_INITIALIZED) to Mutex. All of these are objects with static storage duration and Mutex ctor is constexpr, so it should be equivalent.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D106944
show more ...
|
|
Revision tags: llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
e0dadf3d |
| 16-Mar-2021 |
Vitaly Buka <[email protected]> |
[sanitizer] Remove max_len parameter from InternalScopedString
InternalScopedString uses InternalMmapVector internally so it can be resized dynamically as needed.
Reviewed By: eugenis
Differential
[sanitizer] Remove max_len parameter from InternalScopedString
InternalScopedString uses InternalMmapVector internally so it can be resized dynamically as needed.
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D98751
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init |
|
| #
dd922bc2 |
| 21-Jan-2021 |
Dan Liew <[email protected]> |
[LSan] Introduce a callback mechanism to allow adding data reachable from ThreadContexts to the frontier.
This mechanism is intended to provide a way to treat the `arg` pointer of a created (but not
[LSan] Introduce a callback mechanism to allow adding data reachable from ThreadContexts to the frontier.
This mechanism is intended to provide a way to treat the `arg` pointer of a created (but not yet started) thread as reachable. In future patches this will be implemented in `GetAdditionalThreadContextPtrs`.
A separate implementation of `GetAdditionalThreadContextPtrs` exists for ASan and LSan runtimes because they need to be implemented differently in future patches.
rdar://problem/63537240
Differential Revision: https://reviews.llvm.org/D95183
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
| #
9a023701 |
| 29-Dec-2020 |
Vitaly Buka <[email protected]> |
[lsan] Ignore inderect leaks referenced by suppressed blocks
This makes suppression list to work similar to __lsan_ignore_object.
Existing behavior was inconsistent and very inconvenient for comple
[lsan] Ignore inderect leaks referenced by suppressed blocks
This makes suppression list to work similar to __lsan_ignore_object.
Existing behavior was inconsistent and very inconvenient for complex data structures.
Example:
struct B; struct A { B* ptr; }; A* t = makeA(); t->ptr = makeB();
Before the patch: if makeA suppressed by suppression file, lsan will still report the makeB() leak, so we need two suppressions.
After the patch: a single makeA suppression is enough (the same as a single __lsan_ignore_object(t)).
Differential Revision: https://reviews.llvm.org/D93884
show more ...
|
| #
9b25b806 |
| 30-Dec-2020 |
Vitaly Buka <[email protected]> |
[NFC][lsan] Extract PrintResults function
|
| #
9a5261ef |
| 30-Dec-2020 |
Vitaly Buka <[email protected]> |
[lsan] Parse suppressions just before leak reporting
Without leaks suppressions are not needed.
|
| #
4e74480e |
| 29-Dec-2020 |
Vitaly Buka <[email protected]> |
[NFC][sanitizer] Simplify InternalLowerBound
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
adfefa55 |
| 01-Dec-2020 |
Vitaly Buka <[email protected]> |
[NFC] Extract ForEachDVT
|
|
Revision tags: llvmorg-11.0.1-rc1 |
|
| #
6c164d60 |
| 05-Nov-2020 |
Vitaly Buka <[email protected]> |
[NFC] Extract InitializePlatformCommonFlags
And move some Android specifi declarations from headers
Differential Revision: https://reviews.llvm.org/D90811
|