| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 221936
|
|
|
|
| |
llvm-svn: 221912
|
|
|
|
|
|
|
|
| |
analysis of sanitized systems logs.
Reviewed at http://reviews.llvm.org/D5724
llvm-svn: 221896
|
|
|
|
| |
llvm-svn: 221769
|
|
|
|
|
|
| |
StackDepot implementation
llvm-svn: 220663
|
|
|
|
| |
llvm-svn: 220637
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
introduce a BufferedStackTrace class, which owns this array.
Summary:
This change splits __sanitizer::StackTrace class into a lightweight
__sanitizer::StackTrace, which doesn't own array of PCs, and BufferedStackTrace,
which owns it. This would allow us to simplify the interface of StackDepot,
and eventually merge __sanitizer::StackTrace with __tsan::StackTrace.
Test Plan: regression test suite.
Reviewers: kcc, dvyukov
Reviewed By: dvyukov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5985
llvm-svn: 220635
|
|
|
|
|
|
|
|
| |
ParamTLS (shadow for function arguments) is of limited size. This change
makes all arguments that do not fit unpoisoned, and avoids writing
past the end of a TLS buffer.
llvm-svn: 220351
|
|
|
|
|
|
|
|
|
|
| |
let's rename it to append_list_if
Doing s/append_if/append_list_if/, no functional change.
http://reviews.llvm.org/D5739
llvm-svn: 219860
|
|
|
|
|
|
|
|
|
| |
Chained origins make plain memory stores async-signal-unsafe.
We already disable it inside signal handlers.
This change grabs all origin-related locks before fork() and releases
them after fork() to avoid a deadlock in the child process.
llvm-svn: 217140
|
|
|
|
|
|
| |
It disables the per-stack limit.
llvm-svn: 217030
|
|
|
|
|
|
| |
functionality change intended
llvm-svn: 216407
|
|
|
|
| |
llvm-svn: 215482
|
|
|
|
|
|
|
|
| |
favor of
a unified interface in <sanitizer/allocator_interface.h>.
llvm-svn: 215469
|
|
|
|
|
|
| |
fcvt() result can be heap-allocated and must be unpoisoned.
llvm-svn: 215106
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of Symbolizer::Init(path_to_external) in favor of
thread-safe Symbolizer::GetOrInit(), and use the latter version
everywhere. Implicitly depend on the value of external_symbolizer_path
runtime flag instead of passing it around manually.
No functionality change.
llvm-svn: 214005
|
|
|
|
| |
llvm-svn: 213590
|
|
|
|
|
|
|
|
| |
This was done by calling __cxa_demangle directly, which is bad
when c++abi library is instrumented. The following line always
contains the demangled name (when running with a symbolizer) anyway.
llvm-svn: 212929
|
|
|
|
| |
llvm-svn: 212801
|
|
|
|
|
|
|
|
|
|
|
| |
Our versions are not exactly as fast as libc's, and
MSan uses them heavily (even compared to other sanitizers).
This will break if libc version of mem* are instrumented,
but they never are, and if they are, we should be able
to fix it on libc side.
llvm-svn: 212799
|
|
|
|
|
|
| |
Fast path was never triggered when called from __msan_poison.
llvm-svn: 212715
|
|
|
|
| |
llvm-svn: 212704
|
|
|
|
| |
llvm-svn: 212534
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce new public header <sanitizer/allocator_interface.h> and a set
of functions __sanitizer_get_ownership(), __sanitizer_malloc_hook() etc.
that will eventually replace their tool-specific equivalents
(__asan_get_ownership(), __msan_get_ownership() etc.). Tool-specific
functions are now deprecated and implemented as stubs redirecting
to __sanitizer_ versions (which are implemented differently in each tool).
Replace all uses of __xsan_ versions with __sanitizer_ versions in unit
and lit tests.
llvm-svn: 212469
|
|
|
|
| |
llvm-svn: 212448
|
|
|
|
| |
llvm-svn: 212440
|
|
|
|
| |
llvm-svn: 212329
|
|
|
|
| |
llvm-svn: 212322
|
|
|
|
|
|
| |
unit test source file is compiled with Clang.
llvm-svn: 212121
|
|
|
|
| |
llvm-svn: 212082
|
|
|
|
|
|
| |
Stack origins were created with unlimited length by mistake.
llvm-svn: 212036
|
|
|
|
|
|
|
| |
A new flag to control stack trace size for store event (in
track-origins=2 mode) independently of malloc_context_size.
llvm-svn: 211896
|
|
|
|
|
|
|
| |
This is a leftover from the times when the next (chained) origin id
was stored as the last frame of a stack trace.
llvm-svn: 211878
|
|
|
|
|
|
|
|
|
|
| |
Origin history should only be recorded for uninitialized values, because it is
meaningless otherwise. This change moves __msan_chain_origin to the runtime
library side and makes it conditional on the corresponding shadow value.
Previous code was correct, but _very_ inefficient.
llvm-svn: 211700
|
|
|
|
|
|
|
|
|
| |
Use existing DTLS code in sanitizer_tls_get_addr.{h,cc} to unpoison DTLS
blocks both on allocation and deallocation.
https://code.google.com/p/memory-sanitizer/issues/detail?id=44
llvm-svn: 211683
|
|
|
|
|
|
| |
Conditions for the first and the last origin value in range were wrong.
llvm-svn: 211585
|
|
|
|
| |
llvm-svn: 211574
|
|
|
|
| |
llvm-svn: 211156
|
|
|
|
|
|
|
| |
This should fix strtoimax/strtoumax on newer glibc.
https://code.google.com/p/memory-sanitizer/issues/detail?id=36
llvm-svn: 210463
|
|
|
|
| |
llvm-svn: 210458
|
|
|
|
| |
llvm-svn: 210457
|
|
|
|
| |
llvm-svn: 210335
|
|
|
|
|
|
| |
Bots did not like it.
llvm-svn: 210332
|
|
|
|
| |
llvm-svn: 210331
|
|
|
|
|
|
| |
Based on a patch by Stephan Bergmann.
llvm-svn: 210199
|
|
|
|
| |
llvm-svn: 210020
|
|
|
|
|
|
| |
64-bit atomics make porting of asan to 32-bits platforms problematic.
llvm-svn: 209744
|
|
|
|
|
|
|
|
|
|
|
| |
This way does not require a __sanitizer_cov_dump() call. That's
important on Android, where apps can be killed at arbitrary time.
We write raw PCs to disk instead of module offsets; we also write
memory layout to a separate file. This increases dump size by the
factor of 2 on 64-bit systems.
llvm-svn: 209653
|
|
|
|
| |
llvm-svn: 209625
|
|
|
|
| |
llvm-svn: 209287
|