llvm-project/llvm/test/Instrumentation/MemorySanitizer
Alexander Potapenko 391804f54b [MSan] Move the access address check before the shadow access for that address
MSan used to insert the shadow check of the store pointer operand
_after_ the shadow of the value operand has been written.
This happens to work in the userspace, as the whole shadow range is
always mapped. However in the kernel the shadow page may not exist, so
the bug may cause a crash.

This patch moves the address check in front of the shadow access.

llvm-svn: 318901
2017-11-23 08:34:32 +00:00
..
AArch64 Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
Mips Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
PowerPC Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
X86
alloca.ll
array_types.ll
atomics.ll
byval-alignment.ll
check-constant-shadow.ll
check_access_address.ll [MSan] Move the access address check before the shadow access for that address 2017-11-23 08:34:32 +00:00
csr.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
global_ctors_2to3.ll
instrumentation-with-call-threshold.ll
missing_origin.ll Update some code.google.com links 2017-11-13 23:47:58 +00:00
msan_basic.ll Add element-atomic mem intrinsic canary tests for Memory Sanitizer. 2017-07-18 01:06:54 +00:00
msan_x86intrinsics.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
mul_by_constant.ll
nosanitize.ll [msan] Don't sanitize "nosanitize" instructions 2017-11-20 23:37:56 +00:00
origin-alignment.ll
origin-array.ll
pr32842.ll [msan] Fix PR32842 2017-05-11 11:07:48 +00:00
return_from_main.ll
store-long-origin.ll
store-origin.ll
str-nobuiltin.ll
unreachable.ll
unsized_type.ll [msan] Only check shadow memory for operands that are sized. 2017-07-11 18:13:52 +00:00
vector_arith.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
vector_cmp.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
vector_cvt.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
vector_pack.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
vector_shift.ll [X86] Replace 'REQUIRES: x86' in tests with 'REQUIRES: x86-registered-target' which seems to be the correct way to make them run on an x86 build. 2017-06-04 08:21:58 +00:00
with-call-type-size.ll