summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/rtl/tsan_fd.cc
Commit message (Collapse)AuthorAgeFilesLines
* compiler-rt: Rename .cc file in lib/tsan/rtl to .cppNico Weber2019-08-011-315/+0
| | | | | | Like r367463, but for tsan/rtl. llvm-svn: 367564
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [Sanitizers] TSan allocator set errno on failure.Alex Shlyapnikov2017-07-241-3/+3
| | | | | | | | | | | | | | | | | | Summary: Set proper errno code on allocation failures and change realloc, pvalloc, aligned_alloc, memalign and posix_memalign implementation to satisfy their man-specified requirements. Modify allocator API implementation to bring it closer to other sanitizers allocators. Reviewers: dvyukov Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D35690 llvm-svn: 308929
* tsan: fix handling of dup2 Dmitry Vyukov2015-06-251-9/+27
| | | | | | | | | | | | Previously tsan modelled dup2(oldfd, newfd) as write on newfd. We hit several cases where the write lead to false positives: 1. Some software dups a closed pipe in place of a socket before closing the socket (to prevent races actually). 2. Some daemons dup /dev/null in place of stdin/stdout. On the other hand we have not seen cases when write here catches real bugs. So model dup2 as read on newfd instead. llvm-svn: 240687
* tsan: fix false positive related to signalsDmitry Vyukov2014-10-151-4/+5
| | | | | | | Write interceptor calls malloc, which causes a false unsafe-call-in-signal-handler report. See the test. llvm-svn: 219784
* tsan: refactor storage of meta information for heap blocks and sync objectsDmitry Vyukov2014-05-291-9/+6
| | | | | | | | | | | | | | | The new storage (MetaMap) is based on direct shadow (instead of a hashmap + per-block lists). This solves a number of problems: - eliminates quadratic behaviour in SyncTab::GetAndLock (https://code.google.com/p/thread-sanitizer/issues/detail?id=26) - eliminates contention in SyncTab - eliminates contention in internal allocator during allocation of sync objects - removes a bunch of ad-hoc code in java interface - reduces java shadow from 2x to 1/2x - allows to memorize heap block meta info for Java and Go - allows to cleanup sync object meta info for Go - which in turn enabled deadlock detector for Go llvm-svn: 209810
* [sanitizer] Intercept a bunch of stdio calls.Evgeniy Stepanov2014-04-251-2/+2
| | | | | | Add move fopen/freopen interceptors from TSan to common. llvm-svn: 207224
* tsan: deobfuscate global ctx variableDmitry Vyukov2014-03-201-1/+1
| | | | llvm-svn: 204327
* tsan: filter out more bogus fd valuesDmitry Vyukov2013-11-251-1/+1
| | | | | | people do close(sysconf(_SC_OPEN_MAX)) after fork, where _SC_OPEN_MAX=1200000. llvm-svn: 195645
* tsan: do not crash when apparently bogus fd is passed to e.g. closeDmitry Vyukov2013-10-251-2/+34
| | | | | | | | some tests test libc/filesystem error handling paths (e.g. close(INT_MAX)), currently such tests fail with this change they work as expected llvm-svn: 193400
* tsan: catch more races on file descriptorsDmitry Vyukov2013-10-111-0/+2
| | | | llvm-svn: 192452
* tsan: fix potential false positive race on fdDmitry Vyukov2013-06-201-1/+1
| | | | llvm-svn: 184430
* [TSan] Allocate fd table in user heap instead of using internal allocator. ↵Alexey Samsonov2013-04-191-2/+3
| | | | | | We need this to catch races on fds. llvm-svn: 179841
* tsan: detect races between plain and atomic memory accessesDmitry Vyukov2013-02-011-5/+5
| | | | llvm-svn: 174163
* tsan: detect races on fd passed to epoll_ctlDmitry Vyukov2013-01-091-0/+6
| | | | llvm-svn: 171981
* tsan: intercept fork() to prevent false race reports on fd'sDmitry Vyukov2012-12-181-0/+15
| | | | llvm-svn: 170433
* tsan: add signalfd() and inotify_init() interceptorsDmitry Vyukov2012-12-181-2/+13
| | | | llvm-svn: 170429
* tsan: add io_sync flag that controls amount of IO synchronizationDmitry Vyukov2012-12-181-2/+11
| | | | llvm-svn: 170427
* tsan: describe "file descriptor" locationDmitry Vyukov2012-12-181-64/+91
| | | | llvm-svn: 170417
* tsan: synchronize connect->accept callsDmitry Vyukov2012-12-141-0/+9
| | | | llvm-svn: 170235
* tsan: add missing filesDmitry Vyukov2012-12-121-0/+188
llvm-svn: 169971
OpenPOWER on IntegriCloud