llvm-project/compiler-rt/lib/sanitizer_common
David Carlier f11fcc046e [Sanitizer] Intercept arc4random_buf / arc4random_addrandom on FreeBSD/NetBSD
- Disabled on purpose on Android and Darwin platform (for now).
- Darwin supports it, would need interception in its specific code before enabling it.
- Linux does not support it but only via third party library.
- Android supports it via bionic however it is known to have issue with older versions of the implementations. Can be enabled by an Android committer later on if necessary once there is more 'certainity'/been more tested.

Reviewers: krytarowski, vitalybuka

Reviewed By: krytarowski

Differential Revision: https://reviews.llvm.org/D56125

llvm-svn: 350123
2018-12-28 16:04:28 +00:00
..
scripts [Sanitizers] Export aligned new/delete from runtimes. 2017-12-23 00:30:51 +00:00
symbolizer [sanitizer] Update global_symbols.txt 2018-11-16 21:42:22 +00:00
tests Introduce `AddressSpaceView` template parameter to `SizeClassAllocator64`. 2018-12-21 21:09:31 +00:00
.clang-format [sanitizer] Remove unneeded blank lines 2018-05-09 00:44:26 +00:00
.clang-tidy [sanitizers] specifying style for global constant 2016-11-17 21:57:43 +00:00
CMakeLists.txt [Sanitizer] Separate FreeBSD interception data structures 2018-12-07 20:05:55 +00:00
sancov_begin.S [Sanitizers, CMake] Basic sanitizer Solaris support (PR 33274) 2017-12-22 18:04:20 +00:00
sancov_end.S [Sanitizers, CMake] Basic sanitizer Solaris support (PR 33274) 2017-12-22 18:04:20 +00:00
sancov_flags.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
sancov_flags.h [sancov] Move __sancov_default_options declaration outside the namespace __sancov 2017-02-01 01:36:19 +00:00
sancov_flags.inc Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
sanitizer_addrhashmap.h adding operator* to help working with primitive values 2016-11-16 19:35:37 +00:00
sanitizer_allocator.cc [Sanitizers] Remove OOM/BadRequest allocator error handling policies. 2018-06-20 17:10:33 +00:00
sanitizer_allocator.h Introduce `AddressSpaceView` template parameter to `SizeClassAllocator32`, `FlatByteMap`, and `TwoLevelByteMap`. 2018-12-14 09:03:18 +00:00
sanitizer_allocator_bytemap.h Introduce `AddressSpaceView` template parameter to `SizeClassAllocator32`, `FlatByteMap`, and `TwoLevelByteMap`. 2018-12-14 09:03:18 +00:00
sanitizer_allocator_checks.cc [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc 2017-10-11 21:20:04 +00:00
sanitizer_allocator_checks.h [Sanitizers] Check alignment != 0 for aligned_alloc and posix_memalign 2018-06-08 20:40:35 +00:00
sanitizer_allocator_combined.h Fix `static_assert()` scope in `CombinedAllocator`. 2018-12-21 21:41:37 +00:00
sanitizer_allocator_interface.h [Sanitizers] New sanitizer API to purge allocator quarantine. 2017-10-23 17:12:07 +00:00
sanitizer_allocator_internal.h Introduce `AddressSpaceView` template parameter to `SizeClassAllocator32`, `FlatByteMap`, and `TwoLevelByteMap`. 2018-12-14 09:03:18 +00:00
sanitizer_allocator_local_cache.h [Sanitizers] Remove OOM/BadRequest allocator error handling policies. 2018-06-20 17:10:33 +00:00
sanitizer_allocator_primary32.h Fix `static_assert()` scope in `SizeClassAllocator32`. 2018-12-21 21:41:31 +00:00
sanitizer_allocator_primary64.h Introduce `AddressSpaceView` template parameter to `SizeClassAllocator64`. 2018-12-21 21:09:31 +00:00
sanitizer_allocator_report.cc [Sanitizers] Remove OOM/BadRequest allocator error handling policies. 2018-06-20 17:10:33 +00:00
sanitizer_allocator_report.h [LSan] Report proper error on allocator failures instead of CHECK(0)-ing 2018-06-05 18:02:09 +00:00
sanitizer_allocator_secondary.h Introduce `AddressSpaceView` template parameter to `CombinedAllocator`. 2018-12-21 21:22:27 +00:00
sanitizer_allocator_size_class_map.h [sanitizer] Introduce a new SizeClassMap with minimal amount of cached entries 2018-09-27 18:20:42 +00:00
sanitizer_allocator_stats.h [Sanitizers] Make sanitizer allocator linker-initialize compliant. 2018-06-13 21:45:01 +00:00
sanitizer_asm.h [sanitizer] Refactor how assembly files are handled 2017-11-29 19:27:25 +00:00
sanitizer_atomic.h Revert r330376 "[sanitizer] Generalize atomic_uint8_t, atomic_uint16_t, ... into a template. NFC." 2018-04-20 07:34:59 +00:00
sanitizer_atomic_clang.h Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_mips.h Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_other.h [sanitizer] Correct 64-bit atomic_store on 32-bit "other" platforms 2018-05-09 16:20:52 +00:00
sanitizer_atomic_clang_x86.h [sanitizer] Remove st(X) from the clobber list in 32-bit x86 atomics 2018-08-13 15:01:24 +00:00
sanitizer_atomic_msvc.h
sanitizer_bitvector.h Update other SizeEnums to be of type uptr as well 2017-12-06 23:02:02 +00:00
sanitizer_bvgraph.h Update other SizeEnums to be of type uptr as well 2017-12-06 23:02:02 +00:00
sanitizer_common.cc [sanitizer] Move __sanitizer_set_death_callback to a more appropriate file 2018-09-21 17:05:56 +00:00
sanitizer_common.h [xray] Detect MPROTECT and error out when it's enabled (on NetBSD) 2018-12-23 15:09:28 +00:00
sanitizer_common_interceptors.inc [Sanitizer] Intercept arc4random_buf / arc4random_addrandom on FreeBSD/NetBSD 2018-12-28 16:04:28 +00:00
sanitizer_common_interceptors_format.inc [asan] print the 'unexpected format specifier in printf interceptor' warning just once (came up in https://github.com/google/oss-fuzz/pull/562). Not touching a similar scanf warning -- for some reason it does not fire for me. 2017-05-03 18:38:34 +00:00
sanitizer_common_interceptors_ioctl.inc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_common_interface.inc [libFuzzer] Report at most one crash per input. 2018-05-01 21:01:53 +00:00
sanitizer_common_interface_posix.inc [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
sanitizer_common_libcdep.cc [sanitizer] Avoid extra newlines in syslog. 2018-10-12 22:07:54 +00:00
sanitizer_common_nolibc.cc [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_common_syscalls.inc
sanitizer_coverage_fuchsia.cc [XRay] Support for Fuchsia 2018-11-22 02:00:44 +00:00
sanitizer_coverage_interface.inc [sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API 2017-08-10 14:22:57 +00:00
sanitizer_coverage_libcdep_new.cc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_coverage_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_coverage_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
sanitizer_coverage_win_sections.cc [libFuzzer] Port to Windows 2018-08-30 15:54:44 +00:00
sanitizer_coverage_win_weak_interception.cc [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
sanitizer_dbghelp.h [asan/win] Delay load dbghelp.dll to delay ucrtbase.dll initialization 2016-11-14 17:37:50 +00:00
sanitizer_deadlock_detector.h
sanitizer_deadlock_detector1.cc
sanitizer_deadlock_detector2.cc [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_deadlock_detector_interface.h
sanitizer_errno.cc [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
sanitizer_errno.h [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_errno_codes.h [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
sanitizer_file.cc [sanitizer] Cleanup ReadFileToVector and ReadFileToBuffer 2018-06-06 20:53:43 +00:00
sanitizer_file.h [SanitizerCommon] Remove RenameFile 2018-12-03 14:03:51 +00:00
sanitizer_flag_parser.cc
sanitizer_flag_parser.h [sanitizer] Use const char* in internal_simple_strtoll 2018-06-17 08:41:45 +00:00
sanitizer_flags.cc [sanitizer] Remove low-hanging-fruit dead code 2018-04-17 14:54:50 +00:00
sanitizer_flags.h [sanitizer] Remove unnecessary attribute hidden. 2017-11-10 22:52:44 +00:00
sanitizer_flags.inc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_freebsd.h
sanitizer_fuchsia.cc [xray] Detect MPROTECT and error out when it's enabled (on NetBSD) 2018-12-23 15:09:28 +00:00
sanitizer_fuchsia.h [sanitizer_common] Don't provide sanitizer_procmaps API functions where not defined 2017-09-25 20:48:51 +00:00
sanitizer_getauxval.h [sanitizer] Allow Fuchsia to use getauxval 2018-01-19 22:33:30 +00:00
sanitizer_interceptors_ioctl_netbsd.inc Update NetBSD ioctl(2) entries with 8.99.28 2018-12-27 23:35:28 +00:00
sanitizer_interface_internal.h [libFuzzer] Report at most one crash per input. 2018-05-01 21:01:53 +00:00
sanitizer_internal_defs.h [Sanitizer] Separate FreeBSD interception data structures 2018-12-07 20:05:55 +00:00
sanitizer_lfstack.h
sanitizer_libc.cc [sanitizer] optimize internal_memset for the most performance critical case (16-byte-aligned) 2018-09-04 22:43:30 +00:00
sanitizer_libc.h [sanitizer] Use const char* in internal_simple_strtoll 2018-06-17 08:41:45 +00:00
sanitizer_libignore.cc OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_libignore.h [tsan] Separate the constants in libignore and bump the maximum for instrumented libraries 2018-01-04 02:28:51 +00:00
sanitizer_linux.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_linux.h Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_linux_libcdep.cc [sanitizer] Fix nolibc unittests broken by r346215 2018-11-06 19:23:22 +00:00
sanitizer_linux_mips64.S [ESan][MIPS] Adds support for MIPS64 2016-10-06 09:58:11 +00:00
sanitizer_linux_s390.cc [sanitizer] Fix s390 build after r334900 2018-06-17 17:40:38 +00:00
sanitizer_linux_x86_64.S
sanitizer_list.h Whenever reasonable, merge ASAN quarantine batches to save memory. 2017-01-19 22:15:54 +00:00
sanitizer_local_address_space_view.h Fix comment typo. 2018-12-21 21:41:43 +00:00
sanitizer_mac.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_mac.h [sanitizer] Improve macOS version detection 2018-10-26 17:19:41 +00:00
sanitizer_mac_libcdep.cc [sanitizer] Revert D50940 2018-08-29 19:41:28 +00:00
sanitizer_malloc_mac.inc Add new `__sanitizer_mz_default_zone()` API which returns the address of the ASan malloc zone. This API will be used for testing in future patches. 2018-12-06 12:39:00 +00:00
sanitizer_mutex.h Pacify sanitizer lint script that still does not run on Windows 2018-07-31 00:08:26 +00:00
sanitizer_netbsd.cc [sanitizer] Support running without fd 0,1,2. 2018-12-20 20:36:33 +00:00
sanitizer_openbsd.cc [sanitizer] Add char **GetEnviron() on all other platforms 2018-11-06 19:23:12 +00:00
sanitizer_persistent_allocator.cc
sanitizer_persistent_allocator.h
sanitizer_placement_new.h
sanitizer_platform.h Introduce a way to allow the ASan dylib on Darwin platforms to be loaded via `dlopen()`. 2018-12-01 15:45:42 +00:00
sanitizer_platform_interceptors.h [Sanitizer] Intercept arc4random_buf / arc4random_addrandom on FreeBSD/NetBSD 2018-12-28 16:04:28 +00:00
sanitizer_platform_limits_freebsd.cc [Sanitizer] Add fstab api to FreeBSD/Linux 2018-12-27 21:25:24 +00:00
sanitizer_platform_limits_freebsd.h [Sanitizer] Add fstab api to FreeBSD/Linux 2018-12-27 21:25:24 +00:00
sanitizer_platform_limits_linux.cc [sanitizer] Add a bunch of ifdefs for sparc targets to avoid build failures. 2016-12-02 08:07:35 +00:00
sanitizer_platform_limits_netbsd.cc Fix a mistake in previous 2018-12-28 00:17:37 +00:00
sanitizer_platform_limits_netbsd.h Update NetBSD ioctl(2) entries with 8.99.28 2018-12-27 23:35:28 +00:00
sanitizer_platform_limits_openbsd.cc OpenBSD UBsan support / common 2018-03-03 12:04:40 +00:00
sanitizer_platform_limits_openbsd.h OpenBSD sanitizer common, define RLIMIT_AS constant 2018-03-06 08:24:16 +00:00
sanitizer_platform_limits_posix.cc Enable posix regex interceptors on linux. 2018-12-27 21:47:26 +00:00
sanitizer_platform_limits_posix.h Enable posix regex interceptors on linux. 2018-12-27 21:47:26 +00:00
sanitizer_platform_limits_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_platform_limits_solaris.h [Sanitizers] Solaris largefile fixes 2018-11-05 19:19:15 +00:00
sanitizer_posix.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_posix.h Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_posix_libcdep.cc [sanitizer] Only set soft coredump limit. 2018-11-07 01:03:26 +00:00
sanitizer_printf.cc [Sanitizer] Internal Printf string width + left-justify. 2018-04-23 20:30:50 +00:00
sanitizer_procmaps.h Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_procmaps_bsd.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_procmaps_common.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_procmaps_linux.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_procmaps_mac.cc [sanitizer] Don't call task_for_pid(mach_task_self). NFC. 2018-08-23 22:55:58 +00:00
sanitizer_procmaps_solaris.cc Revert "[asan] Support running without /proc.", +1 2018-12-28 01:27:18 +00:00
sanitizer_quarantine.h [Sanitizers] Make sanitizer allocator linker-initialize compliant. 2018-06-13 21:45:01 +00:00
sanitizer_report_decorator.h [LSan] Report proper error on allocator failures instead of CHECK(0)-ing 2018-06-05 18:02:09 +00:00
sanitizer_ring_buffer.h [hwasan] Record and display stack history in stack-based reports. 2018-09-24 23:03:34 +00:00
sanitizer_rtems.cc [xray] Detect MPROTECT and error out when it's enabled (on NetBSD) 2018-12-23 15:09:28 +00:00
sanitizer_rtems.h [asan, myriad] Simplify main thread handling 2018-05-30 04:57:29 +00:00
sanitizer_signal_interceptors.inc Handle symbol renaming of sigaction for NetBSD 2017-11-28 10:54:58 +00:00
sanitizer_solaris.cc [sanitizer] Support running without fd 0,1,2. 2018-12-20 20:36:33 +00:00
sanitizer_stackdepot.cc [sanitizer] Cleanup sorting functions 2018-05-09 20:42:11 +00:00
sanitizer_stackdepot.h
sanitizer_stackdepotbase.h
sanitizer_stacktrace.cc [sanitizer] Reland "Be more accurate when calculating the previous instruction address on ARM." 2018-05-23 09:18:10 +00:00
sanitizer_stacktrace.h [Sanitizers] Disable SANITIZER_CAN_FAST_UNWIND on all SPARC targets 2018-11-05 19:22:54 +00:00
sanitizer_stacktrace_libcdep.cc [sanitizer] Include inlined frames into __sanitizer_symbolize_pc output 2018-10-02 17:01:18 +00:00
sanitizer_stacktrace_printer.cc Handle pthread_sigmask in DemangleFunctionName() 2018-10-30 08:51:34 +00:00
sanitizer_stacktrace_printer.h [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_stacktrace_sparc.cc [Sanitizers] Disable SANITIZER_CAN_FAST_UNWIND on all SPARC targets 2018-11-05 19:22:54 +00:00
sanitizer_stoptheworld.h Update suspended threads info to be compatible with darwin 2017-04-17 20:29:38 +00:00
sanitizer_stoptheworld_linux_libcdep.cc [asan] Workaround to avoid hangs in Chromium tests 2018-05-15 01:39:13 +00:00
sanitizer_stoptheworld_mac.cc [sanitizer] Remove use of task_for_pid from sanitizer_stoptheworld_mac.cc 2017-08-07 18:07:20 +00:00
sanitizer_suppressions.cc [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_suppressions.h
sanitizer_symbolizer.cc Invalidate symbolizer module list from dlopen/dlclose interceptors 2017-09-26 16:12:56 +00:00
sanitizer_symbolizer.h [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_symbolizer_fuchsia.h [XRay] Support for Fuchsia 2018-11-22 02:00:44 +00:00
sanitizer_symbolizer_internal.h Revert r324847, there's bot failures. 2018-02-11 20:44:04 +00:00
sanitizer_symbolizer_libbacktrace.cc [sanitizer] Fix sanitizer_common compile errors on gcc trunk 2017-11-07 20:10:17 +00:00
sanitizer_symbolizer_libbacktrace.h
sanitizer_symbolizer_libcdep.cc [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_symbolizer_mac.cc Revert r324847, there's bot failures. 2018-02-11 20:44:04 +00:00
sanitizer_symbolizer_mac.h
sanitizer_symbolizer_markup.cc [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMS 2018-05-11 23:52:19 +00:00
sanitizer_symbolizer_posix_libcdep.cc [sanitizer] Remove reserving constructor from InternalMmapVector 2018-05-07 05:56:24 +00:00
sanitizer_symbolizer_report.cc [sanitizer] Trivial portion of the port to Myriad RTEMS 2018-05-18 00:43:54 +00:00
sanitizer_symbolizer_rtems.h [sanitizer] Allow Fuchsia symbolizer to be reused by Myriad RTEMS 2018-05-11 23:52:19 +00:00
sanitizer_symbolizer_win.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_syscall_generic.inc Remove remnant code of using indirect syscall on NetBSD 2018-10-08 18:04:46 +00:00
sanitizer_syscall_linux_aarch64.inc Remove remnant code of using indirect syscall on NetBSD 2018-10-08 18:04:46 +00:00
sanitizer_syscall_linux_arm.inc Remove remnant code of using indirect syscall on NetBSD 2018-10-08 18:04:46 +00:00
sanitizer_syscall_linux_x86_64.inc Remove remnant code of using indirect syscall on NetBSD 2018-10-08 18:04:46 +00:00
sanitizer_syscalls_netbsd.inc Regenerate syscall hooks for NetBSD 8.99.25 2018-10-30 11:10:36 +00:00
sanitizer_termination.cc [sanitizer] Move __sanitizer_set_death_callback to a more appropriate file 2018-09-21 17:05:56 +00:00
sanitizer_thread_registry.cc tsan: add pthread_tryjoin_np and pthread_timedjoin_np interceptors 2018-11-21 09:31:21 +00:00
sanitizer_thread_registry.h tsan: add pthread_tryjoin_np and pthread_timedjoin_np interceptors 2018-11-21 09:31:21 +00:00
sanitizer_tls_get_addr.cc Msan, fixing DTLS_on_tls_get_addr signature empty implementation 2018-02-21 04:16:45 +00:00
sanitizer_tls_get_addr.h [lsan] Avoid segfaults during threads destruction under high load 2017-04-06 07:42:27 +00:00
sanitizer_type_traits.h [sanitizer] Remove spurious semi-colon 2018-12-19 19:05:29 +00:00
sanitizer_unwind_linux_libcdep.cc Cast the return value of _Unwind_GetIP() to uptr 2018-10-30 18:25:12 +00:00
sanitizer_unwind_win.cc [sanitizer] Split stacktrace/symbolizer: Windows unwind 2018-04-04 15:23:30 +00:00
sanitizer_vector.h [sanitizer] Fix __sanitizer::Vector::Resize vector 2018-04-13 18:41:52 +00:00
sanitizer_win.cc [xray] Detect MPROTECT and error out when it's enabled (on NetBSD) 2018-12-23 15:09:28 +00:00
sanitizer_win.h [sanitizer_common] Don't provide sanitizer_procmaps API functions where not defined 2017-09-25 20:48:51 +00:00
sanitizer_win_defs.h Try to fix cosmetics to keep lines below 80 chars. NFC. 2018-09-25 21:27:07 +00:00
sanitizer_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_win_dll_thunk.h [compiler-rt][asan] Fix incorrect macro preventing ICF with MSVC 2017-02-21 20:04:47 +00:00
sanitizer_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
sanitizer_win_weak_interception.cc [sanitizer] Fix sanitizer_common compile errors on gcc trunk 2017-11-07 20:10:17 +00:00
sanitizer_win_weak_interception.h [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
weak_symbols.txt [sanitizer] Define as weak, functions that are declared as weak. 2017-01-31 20:23:14 +00:00