llvm-project/llvm/lib/Transforms/Instrumentation
Evgeniy Stepanov 1f1a7a719d hwasan: add -hwasan-match-all-tag flag
Sometimes instead of storing addresses as is, the kernel stores the address of
a page and an offset within that page, and then computes the actual address
when it needs to make an access. Because of this the pointer tag gets lost
(gets set to 0xff). The solution is to ignore all accesses tagged with 0xff.

This patch adds a -hwasan-match-all-tag flag to hwasan, which allows to ignore
accesses through pointers with a particular pointer tag value for validity.

Patch by Andrey Konovalov.

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

llvm-svn: 329228
2018-04-04 20:44:59 +00:00
..
AddressSanitizer.cpp Fix a couple of layering violations in Transforms 2018-03-21 22:34:23 +00:00
BoundsChecking.cpp [PM] Port BoundsChecking to the new PM. 2017-11-14 01:30:04 +00:00
CFGMST.h [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
CMakeLists.txt Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
DataFlowSanitizer.cpp DataFlowSanitizer: wrappers of functions with local linkage should have the same linkage as the function being wrapped 2018-03-30 18:37:55 +00:00
EfficiencySanitizer.cpp Fix a couple of layering violations in Transforms 2018-03-21 22:34:23 +00:00
GCOVProfiling.cpp Fix Layering, move instrumentation transform headers into Instrumentation subdirectory 2018-03-23 22:11:06 +00:00
HWAddressSanitizer.cpp hwasan: add -hwasan-match-all-tag flag 2018-04-04 20:44:59 +00:00
IndirectCallPromotion.cpp Fix Layering, move instrumentation transform headers into Instrumentation subdirectory 2018-03-23 22:11:06 +00:00
InstrProfiling.cpp Fix Layering, move instrumentation transform headers into Instrumentation subdirectory 2018-03-23 22:11:06 +00:00
Instrumentation.cpp Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
LLVMBuild.txt
MaximumSpanningTree.h Remove unneeded use of #undef DEBUG_TYPE. NFC 2017-07-12 20:49:21 +00:00
MemorySanitizer.cpp MSan: introduce the conservative assembly handling mode. 2018-04-03 09:50:06 +00:00
PGOInstrumentation.cpp [PGO] Fix branch probability remarks assert 2018-03-27 18:55:56 +00:00
PGOMemOPSizeOpt.cpp Fix Layering, move instrumentation transform headers into Instrumentation subdirectory 2018-03-23 22:11:06 +00:00
SanitizerCoverage.cpp [sanitizer-coverage] call appendToUsed once per module, not once per function (which is too slow) 2017-09-09 05:30:13 +00:00
ThreadSanitizer.cpp Fix a couple of layering violations in Transforms 2018-03-21 22:34:23 +00:00