Revision tags: 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, working, 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, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, 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, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
#
8df3c7de |
| 09-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
sanitizer_common: sanitize time functions
We have SleepForSeconds, SleepForMillis and internal_sleep. Some are implemented in terms of libc functions, some -- in terms of syscalls. Some are implemen
sanitizer_common: sanitize time functions
We have SleepForSeconds, SleepForMillis and internal_sleep. Some are implemented in terms of libc functions, some -- in terms of syscalls. Some are implemented in per OS files, some -- in libc/nolibc files. That's unnecessary complex and libc functions cause crashes in some contexts because we intercept them. There is no single reason to have calls to libc when we have syscalls (and we have them anyway).
Add internal_usleep that is implemented in terms of syscalls per OS. Make SleepForSeconds/SleepForMillis/internal_sleep a wrapper around internal_usleep that is implemented in sanitizer_common.cpp once.
Also remove return values for internal_sleep, it's not used anywhere.
Eventually it would be nice to remove SleepForSeconds/SleepForMillis/internal_sleep. There is no point in having that many different names for the same thing.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D105718
show more ...
|
Revision tags: 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 |
|
#
f85002d2 |
| 23-Mar-2021 |
Matt Morehouse <mascasa@google.com> |
[sanitizer] Implement MapDynamicShadowAndAliases.
The function works like MapDynamicShadow, except that it creates aliased memory to the right of the shadow. The main use case is for HWASan aliasin
[sanitizer] Implement MapDynamicShadowAndAliases.
The function works like MapDynamicShadow, except that it creates aliased memory to the right of the shadow. The main use case is for HWASan aliasing mode, which gets fast IsAlias() checks by exploiting the fact that the upper bits of the shadow base and aliased memory match.
Reviewed By: vitalybuka, eugenis
Differential Revision: https://reviews.llvm.org/D98369
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, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2 |
|
#
9f8c4039 |
| 13-Aug-2020 |
Peter Collingbourne <peter@pcc.me.uk> |
sanitizer_common: Introduce internal_madvise and start using it.
A recent change to sanitizer_common caused us to issue the syscall madvise(MADV_HUGEPAGE) during HWASAN initialization. This may lead
sanitizer_common: Introduce internal_madvise and start using it.
A recent change to sanitizer_common caused us to issue the syscall madvise(MADV_HUGEPAGE) during HWASAN initialization. This may lead to a problem if madvise is instrumented (e.g. because libc is instrumented or the user intercepted it). For example, on Android the syscall may fail if the kernel does not support transparent hugepages, which leads to an attempt to set errno in a HWASAN instrumented function. Avoid this problem by introducing a syscall wrapper and using it to issue this syscall.
Tested only on Linux; includes untested updates for the other platforms.
Differential Revision: https://reviews.llvm.org/D85870
show more ...
|
Revision tags: llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
#
52f2df1e |
| 10-Feb-2020 |
Dimitry Andric <dimitry@andric.com> |
[Sanitizers] Get link map on FreeBSD and NetBSD via documented API
Summary: Instead of hand-crafting an offset into the structure returned by dlopen(3) to get at the link map, use the documented API
[Sanitizers] Get link map on FreeBSD and NetBSD via documented API
Summary: Instead of hand-crafting an offset into the structure returned by dlopen(3) to get at the link map, use the documented API. This is described in dlinfo(3): by calling it with `RTLD_DI_LINKMAP`, the dynamic linker ensures the right address is returned.
This is a recommit of 92e267a94dc4272511be674062f8a3e8897b7083, with dlinfo(3) expliclity being referenced only for FreeBSD, non-Android Linux, NetBSD and Solaris. Other OSes will have to add their own implementation.
Reviewers: devnexen, emaste, MaskRay, krytarowski
Reviewed By: krytarowski
Subscribers: krytarowski, vitalybuka, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D73990
show more ...
|
#
480eea4e |
| 10-Feb-2020 |
Dimitry Andric <dimitry@andric.com> |
Revert "[Sanitizers] Get link map on FreeBSD via documented API"
This reverts commit 92e267a94dc4272511be674062f8a3e8897b7083, as it appears Android is missing dlinfo(3).
|
#
92e267a9 |
| 06-Feb-2020 |
Dimitry Andric <dimitry@andric.com> |
[Sanitizers] Get link map on FreeBSD via documented API
Summary: Instead of hand-crafting an offset into the structure returned by dlopen(3) to get at the link map, use the documented API. This is
[Sanitizers] Get link map on FreeBSD via documented API
Summary: Instead of hand-crafting an offset into the structure returned by dlopen(3) to get at the link map, use the documented API. This is described in dlinfo(3): by calling it with `RTLD_DI_LINKMAP`, the dynamic linker ensures the right address is returned.
Reviewers: devnexen, emaste, MaskRay, krytarowski
Reviewed By: krytarowski
Subscribers: krytarowski, vitalybuka, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D73990
show more ...
|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init |
|
#
a5a6fd3f |
| 10-Jan-2020 |
Lirong Yuan <yuanzi@google.com> |
Summary: update macro for OFF_T so that sanitizer works on AARCH64.
Reviewers: vitalybuka, eugenis, MaskRay
Reviewed By: eugenis, MaskRay
Subscribers: MaskRay, kristof.beyls, #sanitizers, llvm-com
Summary: update macro for OFF_T so that sanitizer works on AARCH64.
Reviewers: vitalybuka, eugenis, MaskRay
Reviewed By: eugenis, MaskRay
Subscribers: MaskRay, kristof.beyls, #sanitizers, llvm-commits, jkz, scw
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D72367
show more ...
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2 |
|
#
65492d95 |
| 31-Jul-2019 |
Nico Weber <nicolasweber@gmx.de> |
compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp
See https://reviews.llvm.org/D58620 for discussion, and for the commands I ran. In addition I also ran
for f in $(svn diff | diffstat
compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp
See https://reviews.llvm.org/D58620 for discussion, and for the commands I ran. In addition I also ran
for f in $(svn diff | diffstat | grep .cc | cut -f 2 -d ' '); do rg $f . ; done
and manually updated (many) references to renamed files found by that.
llvm-svn: 367463
show more ...
|