summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/msan
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix -Wcast-qual warnings in sanitizersAlexey Samsonov2014-11-133-20/+21
| | | | llvm-svn: 221936
* Removed r221896, it seems to break build in various ways.Yury Gribov2014-11-131-1/+1
| | | | llvm-svn: 221912
* [ASan] Add process basename to log name and error message to simplify ↵Yury Gribov2014-11-131-1/+1
| | | | | | | | analysis of sanitized systems logs. Reviewed at http://reviews.llvm.org/D5724 llvm-svn: 221896
* delete => delete[] for arrays.Richard Trieu2014-11-121-4/+4
| | | | llvm-svn: 221769
* [Sanitizer] Return code that calculates hash for stacktrace back to ↵Alexey Samsonov2014-10-271-19/+19
| | | | | | StackDepot implementation llvm-svn: 220663
* Change StackDepot interface to use StackTrace more extensivelyAlexey Samsonov2014-10-263-4/+4
| | | | llvm-svn: 220637
* [Sanitizer] Make StackTrace a lightweight reference to array of PCs, andAlexey Samsonov2014-10-263-28/+21
| | | | | | | | | | | | | | | | | | | | | | 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
* [msan] Handle param-tls overflow.Evgeniy Stepanov2014-10-222-6/+7
| | | | | | | | 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
* [compiler-rt] compiler-rt's CMake append_if function clashes with LLVM's, ↵Kuba Brecka2014-10-152-3/+3
| | | | | | | | | | 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
* [msan] Make origin tracking fork-safe.Evgeniy Stepanov2014-09-043-0/+30
| | | | | | | | | 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
* [msan] Fix origin_history_per_stack_limit=0 behavior.Evgeniy Stepanov2014-09-031-4/+7
| | | | | | It disables the per-stack limit. llvm-svn: 217030
* [sanitizer] move mlock interceptor from asan/tsan/msan to common; no ↵Kostya Serebryany2014-08-251-30/+0
| | | | | | functionality change intended llvm-svn: 216407
* [MSan] Disable coredump for 64-bit binaries.Alexey Samsonov2014-08-121-0/+1
| | | | llvm-svn: 215482
* [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in ↵Alexey Samsonov2014-08-123-45/+0
| | | | | | | | favor of a unified interface in <sanitizer/allocator_interface.h>. llvm-svn: 215469
* [msan] Fix fcvt interceptor.Evgeniy Stepanov2014-08-072-0/+19
| | | | | | fcvt() result can be heap-allocated and must be unpoisoned. llvm-svn: 215106
* [Sanitizer] Simplify Symbolizer creation interface.Alexey Samsonov2014-07-261-2/+1
| | | | | | | | | | | 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
* [MSan] Fix strncpy interceptorAlexey Samsonov2014-07-222-4/+7
| | | | llvm-svn: 213590
* [msan] Stop demangling function name in the stack origin report.Evgeniy Stepanov2014-07-141-2/+2
| | | | | | | | 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
* [msan] A comment for the chained-origin-depot hash function.Evgeniy Stepanov2014-07-111-0/+13
| | | | llvm-svn: 212801
* [msan] Use real memset/memcpy/memmove in interceptors.Evgeniy Stepanov2014-07-111-51/+14
| | | | | | | | | | | 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
* [msan] Fix performance issue in fast_memset.Evgeniy Stepanov2014-07-101-5/+6
| | | | | | Fast path was never triggered when called from __msan_poison. llvm-svn: 212715
* [msan] Switch chained origins hash to murmur2.Evgeniy Stepanov2014-07-101-1/+24
| | | | llvm-svn: 212704
* [msan] Fix out of bounds access in origin copying.Evgeniy Stepanov2014-07-082-46/+41
| | | | llvm-svn: 212534
* Generalize sanitizer allocator public interface.Alexey Samsonov2014-07-075-35/+56
| | | | | | | | | | | | | | 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
* [msan] Increase hash table size for chained origins.Evgeniy Stepanov2014-07-071-1/+2
| | | | llvm-svn: 212448
* [msan] Better hash function for chained origins.Evgeniy Stepanov2014-07-071-1/+1
| | | | llvm-svn: 212440
* [msan] Reformat one source file.Evgeniy Stepanov2014-07-041-22/+10
| | | | llvm-svn: 212329
* [sanitizer] support c11 aligned_alloc, Linux only for nowKostya Serebryany2014-07-041-0/+7
| | | | llvm-svn: 212322
* [MSan] Fixup r212082: enable tests for _mm_ intrinsics if and only if theAlexey Samsonov2014-07-011-2/+2
| | | | | | unit test source file is compiled with Clang. llvm-svn: 212121
* Add the way to disable MSan unit tests for _mm_* intrinsicsAlexey Samsonov2014-07-011-0/+2
| | | | llvm-svn: 212082
* [msan] Limit stack origin chain length.Evgeniy Stepanov2014-06-301-1/+1
| | | | | | Stack origins were created with unlimited length by mistake. llvm-svn: 212036
* [msan] Add store_context_size= flag.Evgeniy Stepanov2014-06-273-6/+10
| | | | | | | A new flag to control stack trace size for store event (in track-origins=2 mode) independently of malloc_context_size. llvm-svn: 211896
* [msan] Fix truncated stack trace in chained origin reports.Evgeniy Stepanov2014-06-271-1/+1
| | | | | | | 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
* [msan] Fix bad interaction between with-calls mode and chained origin tracking.Evgeniy Stepanov2014-06-251-1/+9
| | | | | | | | | | 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
* [msan] Fix false positive on dynamic tls.Evgeniy Stepanov2014-06-253-2/+16
| | | | | | | | | 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
* [msan] Fix origin copying.Evgeniy Stepanov2014-06-242-6/+36
| | | | | | Conditions for the first and the last origin value in range were wrong. llvm-svn: 211585
* [msan] Print stats even on successful run with atexit=1.Evgeniy Stepanov2014-06-243-4/+6
| | | | llvm-svn: 211574
* [msan] Handle X86 *.psad.* and *.pmadd.* intrinsics.Evgeniy Stepanov2014-06-181-0/+25
| | | | llvm-svn: 211156
* [msan] Intercept __strto*_internal.Evgeniy Stepanov2014-06-092-24/+44
| | | | | | | This should fix strtoimax/strtoumax on newer glibc. https://code.google.com/p/memory-sanitizer/issues/detail?id=36 llvm-svn: 210463
* [msan] Add a test for mmx.packuswb.Evgeniy Stepanov2014-06-091-0/+22
| | | | llvm-svn: 210458
* [msan] Simplify tests.Evgeniy Stepanov2014-06-091-18/+25
| | | | llvm-svn: 210457
* [msan] Fix wrong endianness when printing shadow.Evgeniy Stepanov2014-06-062-1/+9
| | | | llvm-svn: 210335
* [msan] Partial revert of r210331.Evgeniy Stepanov2014-06-061-1/+1
| | | | | | Bots did not like it. llvm-svn: 210332
* [msan] Better diagnostic for invalid origin id.Evgeniy Stepanov2014-06-064-7/+8
| | | | llvm-svn: 210331
* [sanitizer] Make LSan/MSan/TSan honor the "color" flag.Sergey Matveev2014-06-041-2/+2
| | | | | | Based on a patch by Stephan Bergmann. llvm-svn: 210199
* [msan] Handle x86 vector pack intrinsics.Evgeniy Stepanov2014-06-021-0/+21
| | | | llvm-svn: 210020
* tsan: do not use 64-bit atomics in allocator codeDmitry Vyukov2014-05-281-8/+4
| | | | | | 64-bit atomics make porting of asan to 32-bits platforms problematic. llvm-svn: 209744
* [asancov] Write coverage directly to a memory-mapped file.Evgeniy Stepanov2014-05-271-20/+7
| | | | | | | | | | | 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
* [MSan] Implement __sanitizer_print_stack_trace().Sergey Matveev2014-05-262-6/+17
| | | | llvm-svn: 209625
* [msan] Implement MSAN_OPTIONS=print_stats=1.Evgeniy Stepanov2014-05-215-12/+28
| | | | llvm-svn: 209287
OpenPOWER on IntegriCloud