hwasan: add -hwasan-match-all-tag flag
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Wed, 4 Apr 2018 20:44:59 +0000 (20:44 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Wed, 4 Apr 2018 20:44:59 +0000 (20:44 +0000)
commit1f1a7a719d9ead1baa9bc38398cae166a0a30b2e
tree00b32657a5256899ea083696396ce8834001d4b2
parent05f0bae318545adbfa80bb36fcdf2076ff743864
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
llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
llvm/test/Instrumentation/HWAddressSanitizer/kernel.ll