llvm-project/compiler-rt/lib/scudo
Kostya Kortchinsky e1dde07640 [sanitizers] Add a blocking boolean to GetRandom prototype
Summary:
On platforms with `getrandom`, the system call defaults to blocking. This
becomes an issue in the very early stage of the boot for Scudo, when the RNG
source is not set-up yet: the syscall will block and we'll stall.

Introduce a parameter to specify that the function should not block, defaulting
to blocking as the underlying syscall does.

Update Scudo to use the non-blocking version.

Reviewers: alekseyshl

Reviewed By: alekseyshl

Subscribers: llvm-commits, kubamracek

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

llvm-svn: 310839
2017-08-14 14:53:47 +00:00
..
CMakeLists.txt [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_allocator.cpp [scudo] Check for pvalloc overflow 2017-07-25 21:18:02 +00:00
scudo_allocator.h [scudo] Change aligned alloc functions to be more compliant & perf changes 2017-06-29 16:45:20 +00:00
scudo_allocator_combined.h [scudo] Do not grab a cache for secondary allocation & per related changes 2017-07-13 21:01:19 +00:00
scudo_allocator_secondary.h [Sanitizers] Move cached allocator_may_return_null flag to sanitizer_allocator 2017-06-20 21:23:02 +00:00
scudo_crc32.cpp [scudo] CRC32 optimizations 2017-05-09 15:12:38 +00:00
scudo_crc32.h [scudo] CRC32 optimizations 2017-05-09 15:12:38 +00:00
scudo_flags.cpp [scudo] Quarantine overhaul 2017-07-24 15:29:38 +00:00
scudo_flags.h [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_flags.inc [scudo] Quarantine overhaul 2017-07-24 15:29:38 +00:00
scudo_interceptors.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_new_delete.cpp [Sanitizers] Operator new() interceptors always die on allocation error 2017-06-28 21:58:57 +00:00
scudo_termination.cpp [scudo] 32-bit and hardware agnostic support 2016-11-30 17:32:20 +00:00
scudo_tls.h [scudo] PRNG makeover 2017-07-12 15:29:08 +00:00
scudo_tls_android.cpp [scudo] Change aligned alloc functions to be more compliant & perf changes 2017-06-29 16:45:20 +00:00
scudo_tls_android.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_tls_context_android.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_tls_context_linux.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_tls_linux.cpp [scudo] Check the return values of the pthread_* functions 2017-05-26 15:39:22 +00:00
scudo_tls_linux.inc [scudo] Add Android support 2017-05-05 21:38:22 +00:00
scudo_utils.cpp [scudo] PRNG makeover 2017-07-12 15:29:08 +00:00
scudo_utils.h [sanitizers] Add a blocking boolean to GetRandom prototype 2017-08-14 14:53:47 +00:00