Viktor Kutuzov
8dee8575c6
[Sanitizers] Do not call internal_sigdelset() on non-Linux
...
Differential Revision: http://reviews.llvm.org/D9220
llvm-svn: 235701
2015-04-24 07:48:26 +00:00
Dmitry Vyukov
3658f6fcc4
tsan: support setuid call
...
Currently the call hangs because the background thread
does not handle SIGSETXID signal.
llvm-svn: 235581
2015-04-23 09:33:27 +00:00
Timur Iskhodzhanov
3d6c6fbef2
Cast an argument to mprotect syscall to uptr to fix X32
...
llvm-svn: 234748
2015-04-13 12:13:03 +00:00
Timur Iskhodzhanov
ea1f332b79
Split Mprotect into MmapNoAccess and MprotectNoAccess to be more portable
...
On Windows, we have to know if a memory to be protected is mapped or not.
On POSIX, Mprotect was semantically different from mprotect most people know.
llvm-svn: 234602
2015-04-10 15:02:19 +00:00
Viktor Kutuzov
60f0aa8a42
[Sanitizers] Fix internal_ftruncate() to work on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D8551
llvm-svn: 233003
2015-03-23 19:44:35 +00:00
Alexander Potapenko
141e420a81
[ASan] Distinguish between read, write and read-write file access modes in OpenFile.
...
This is to fix mapping coverage files into memory on OSX.
llvm-svn: 232936
2015-03-23 10:10:46 +00:00
Viktor Kutuzov
74c2001f3f
[Sanitizers] Fix sanitizers to build on FreeBSD.
...
Differential Revision: http://reviews.llvm.org/D8175
llvm-svn: 232072
2015-03-12 18:10:06 +00:00
Dmitry Vyukov
b79ac88155
asan: fix signal handling during stoptheworld
...
The problem is that without SA_RESTORER flag, kernel ignores the handler. So tracer actually did not setup any handler.
Add SA_RESTORER flag when setting up handlers.
Add a test that causes SIGSEGV in stoptheworld callback.
Move SignalContext from asan to sanitizer_common to print better diagnostics about signal in the tracer thread.
http://reviews.llvm.org/D8005
llvm-svn: 230978
2015-03-02 17:36:02 +00:00
Mohit K. Bhakkad
36f974d76b
[LSan] [MIPS] adding support of LSan for mips64/mips64el arch
...
Patch by Sagar Thakur
Reviewers: petarj, earthdok, kcc.
Subscribers: samsonov, dsanders, mohit.bhakkad, Anand.Takale, llvm-commits.
Differential Revision: http://reviews.llvm.org/D7013
llvm-svn: 229830
2015-02-19 07:30:39 +00:00
Alexey Samsonov
a11a86b9ce
[TSan] Fix Go build.
...
llvm-svn: 227634
2015-01-30 23:04:57 +00:00
Viktor Kutuzov
07e6c00171
[Sanitizers] Introduce GET_LINK_MAP_BY_DLOPEN_HANDLE() macro
...
Differential Revision: http://reviews.llvm.org/D7233
llvm-svn: 227570
2015-01-30 12:43:52 +00:00
Yury Gribov
2bbad68617
[Sanitizer] Make BlockingMutex really linker initialized.
...
Differential Revision: http://reviews.llvm.org/D7171
llvm-svn: 227560
2015-01-30 06:20:43 +00:00
Kostya Serebryany
3c052cc051
[asan] use getrusage as an alternative to reading /proc/self/statm. Also move GetRSS to sanitizer_linux_libcdep.cc (no change in the function itself)
...
llvm-svn: 227416
2015-01-29 02:54:39 +00:00
Jay Foad
335c08e56c
[ASan] Handle SIGBUS on Linux.
...
Summary:
On Linux in some situations we can get SIGBUS instead of SIGSEGV on
stack overflow, so asan should handle SIGBUS as well as SIGSEGV.
https://code.google.com/p/address-sanitizer/issues/detail?id=369
Reviewers: samsonov, glider
Reviewed By: glider
Subscribers: glider, llvm-commits
Differential Revision: http://reviews.llvm.org/D6923
llvm-svn: 225630
2015-01-12 13:46:37 +00:00
Alexey Samsonov
7eba6dfdaa
[TSan] Fix Go build.
...
llvm-svn: 225336
2015-01-07 02:12:41 +00:00
Evgeniy Stepanov
98211121ab
[sanitizer] mmap2 syscall works with 4096-byte units instead of bytes.
...
Ouch.
llvm-svn: 224819
2014-12-24 12:58:09 +00:00
Jay Foad
d348d7c757
[Sanitizer] Fix GetRSS on Linux with non-4k pages
...
Summary:
The numbers in /proc/self/statm are in pages, not in fixed 4k units.
This fixes Linux/hard_rss_limit_mb_test.cc on my PowerPC64 box which
has 64k pages.
Reviewers: kcc, willschm
Reviewed By: willschm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6717
llvm-svn: 224522
2014-12-18 16:24:01 +00:00
Kostya Serebryany
43eb7735f2
[asan] new flag: hard_rss_limit_mb
...
llvm-svn: 224353
2014-12-16 19:13:01 +00:00
Mohit K. Bhakkad
a94a037528
internal_stat for mips64
...
llvm-svn: 224326
2014-12-16 07:11:08 +00:00
Dmitry Vyukov
a1038b1081
tsan: fix Go build
...
GetRSS is used in Go build.
llvm-svn: 224023
2014-12-11 16:12:45 +00:00
Kostya Serebryany
6c54a6b5dd
[asan] move GetRSS from tsan to sanitizer_common
...
llvm-svn: 223730
2014-12-09 01:22:59 +00:00
Alexey Samsonov
3da2b06593
Add missing #include to fix Android build.
...
llvm-svn: 223157
2014-12-02 21:40:41 +00:00
Dmitry Vyukov
8a3934f85b
sanitizer_common: fix function w/o return
...
When SANITIZER_USES_CANONICAL_LINUX_SYSCALLS the function misses return statement.
llvm-svn: 222532
2014-11-21 13:55:19 +00:00
Alexey Samsonov
4925fd4b05
Fix -Wcast-qual warnings in sanitizers
...
llvm-svn: 221936
2014-11-13 22:40:59 +00:00
Yury Gribov
ecfa592671
Removed r221896, it seems to break build in various ways.
...
llvm-svn: 221912
2014-11-13 19:37:30 +00:00
Yury Gribov
17072ef348
[ASan] Add process basename to log name and error message to simplify analysis of sanitized systems logs.
...
Reviewed at http://reviews.llvm.org/D5724
llvm-svn: 221896
2014-11-13 16:01:23 +00:00
Evgeniy Stepanov
bc496dab07
[asan] Delay system log initialization on Android.
...
Writing to system log requires libc interceptors to be initialized.
Fixes crashes with verbosity=1 on newer Android builds.
llvm-svn: 217764
2014-09-15 11:37:40 +00:00
Viktor Kutuzov
d0907ae222
Fix getting environment variables for sanitizers needs on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D4229
llvm-svn: 212690
2014-07-10 08:53:29 +00:00
Dmitry Vyukov
f9c22916d5
tsan: fix freebsd build
...
freebsd does not have /proc/self/environ
llvm-svn: 211417
2014-06-20 22:49:41 +00:00
Dmitry Vyukov
3fc095e031
tsan: remove unused header include
...
llvm-svn: 211385
2014-06-20 18:28:34 +00:00
Viktor Kutuzov
9cd9b4ce0c
Support getting executable's name for sanitizers needs on FreeBSD
...
llvm-svn: 209805
2014-05-29 12:12:42 +00:00
Alexey Samsonov
5bcd1d8a8f
[Sanitizer] Always prefer cached contents of /proc/self/exe if it's available
...
llvm-svn: 209773
2014-05-28 21:23:53 +00:00
Evgeniy Stepanov
567e516015
[asancov] Write coverage directly to a memory-mapped file.
...
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
2014-05-27 12:37:52 +00:00
Greg Fitzgerald
7b15cf8884
On AArch64, use clone() instead of fork()
...
Patch by Gideon Billings.
Differential Revision: http://reviews.llvm.org/D3903
llvm-svn: 209641
2014-05-26 23:44:55 +00:00
Kostya Serebryany
b9aa538db1
[sanitizer] fix linux_dirent for SANITIZER_X32; based on patch by H.J. Lu
...
llvm-svn: 209281
2014-05-21 08:21:13 +00:00
Kostya Serebryany
84019ff7e5
Cast pointers to uptr when calling internal_syscall
...
For Linux/x86-64, pointers passed to internal_syscall should be casted
to uptr first. Otherwise, they won't be properly extended to 64-bit for
x32.
Patch by H.J. Lu
llvm-svn: 209278
2014-05-21 07:49:03 +00:00
Sergey Matveev
6d8b9a747c
[sanitizer] Fix go build following r209121.
...
llvm-svn: 209136
2014-05-19 16:08:53 +00:00
Sergey Matveev
6cb47a083b
[sanitizer] Support sandboxing in sanitizer coverage.
...
Summary:
Sandboxed code may now pass additional arguments to
__sanitizer_sandbox_on_notify() to force all coverage data to be dumped to a
single file (the default is one file per module). The user may supply a file or
socket to write to. The latter option can be used to broker out the file writing
functionality. If -1 is passed, we pre-open a file.
llvm-svn: 209121
2014-05-19 12:53:03 +00:00
Alexander Potapenko
291b827890
[libsanitizer] Fix the return type of internal_fork
...
llvm-svn: 208714
2014-05-13 17:31:09 +00:00
Alexander Potapenko
4a6cac4382
[libsanitizer] Use internal_fork() to spawn the symbolizer process.
...
This should fix https://code.google.com/p/thread-sanitizer/issues/detail?id=61
llvm-svn: 208707
2014-05-13 16:17:54 +00:00
Alexey Samsonov
18adbc361a
Remove sanitizer_linux_libcdep.cc from TSan-Go build
...
llvm-svn: 203238
2014-03-07 13:17:32 +00:00
Alexey Samsonov
78a6d2073f
[FreeBSD] Port sanitizers' syscalls.
...
Patch by Viktor Kutuzov!
llvm-svn: 203227
2014-03-07 10:03:54 +00:00
Evgeniy Stepanov
f4dcf77623
[asan] Fix printing of long reports to logcat on Android.
...
__android_log_write has an implicit message length limit.
Print one line at a time.
llvm-svn: 202250
2014-02-26 09:39:55 +00:00
Kostya Serebryany
c98ce28533
[sanitizer] AArch64 sanitizer support; patch by Christophe Lyon and Yvan Roux
...
llvm-svn: 201303
2014-02-13 07:50:20 +00:00
Evgeniy Stepanov
01cd8ae204
[asan] Read extra flags from a system property on activation on Android.
...
llvm-svn: 200550
2014-01-31 14:36:55 +00:00
Alexander Potapenko
789e3e1b7c
[ASan] Move the SIGSEGV/SIGBUS handling to sanitizer_common
...
This change is a part of refactoring intended to have common signal handling behavior in all tools.
This particular CL moves InstallSignalHandlers() into sanitizer_common (making it InstallDeadlySignalHandlers()), but doesn't enable default signal handlers for any tool other than ASan.
llvm-svn: 200542
2014-01-31 13:10:07 +00:00
Alexander Potapenko
e925e53114
Fix compilation: don't convert NULL to a pointer-incompatible type.
...
llvm-svn: 200536
2014-01-31 11:44:15 +00:00
Alexander Potapenko
d5802fe548
Make signal-related functions use __sanitizer_* structures instead of __sanitizer_kernel_* ones.
...
Also rename internal_sigaction() into internal_sigaction_norestorer(), as this function doesn't fully
implement the sigaction() functionality on Linux.
This change is a part of refactoring intended to have common signal handling behavior in all tools.
llvm-svn: 200535
2014-01-31 11:29:51 +00:00
Evgeniy Stepanov
350fe4b1af
[asan] Android logging.
...
This change duplicates all ASan output to system log on Android.
llvm-svn: 199887
2014-01-23 11:34:41 +00:00
Alexey Samsonov
2f392d237c
[Sanitizer] Move OS-specific code for MemoryMappingLayout into separate source files.
...
llvm-svn: 198003
2013-12-25 08:01:16 +00:00