diff options
author | Andrey Konovalov <andreyknvl@google.com> | 2018-04-13 18:05:21 +0000 |
---|---|---|
committer | Andrey Konovalov <andreyknvl@google.com> | 2018-04-13 18:05:21 +0000 |
commit | 1ba9d9c6ca1ffeef7e833261ebca463a92adf82f (patch) | |
tree | 411cffebc58e2bb1b52c646829e63fd4e951c439 /clang/lib/CodeGen/SanitizerMetadata.cpp | |
parent | 24fff2429cb612dfe4293ccb93e664f02671ef8a (diff) | |
download | bcm5719-llvm-1ba9d9c6ca1ffeef7e833261ebca463a92adf82f.tar.gz bcm5719-llvm-1ba9d9c6ca1ffeef7e833261ebca463a92adf82f.zip |
hwasan: add -fsanitize=kernel-hwaddress flag
This patch adds -fsanitize=kernel-hwaddress flag, that essentially enables
-hwasan-kernel=1 -hwasan-recover=1 -hwasan-match-all-tag=0xff.
Differential Revision: https://reviews.llvm.org/D45046
llvm-svn: 330044
Diffstat (limited to 'clang/lib/CodeGen/SanitizerMetadata.cpp')
-rw-r--r-- | clang/lib/CodeGen/SanitizerMetadata.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/SanitizerMetadata.cpp b/clang/lib/CodeGen/SanitizerMetadata.cpp index f891cfbe4bb..23cf9e49082 100644 --- a/clang/lib/CodeGen/SanitizerMetadata.cpp +++ b/clang/lib/CodeGen/SanitizerMetadata.cpp @@ -27,7 +27,8 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, bool IsBlacklisted) { if (!CGM.getLangOpts().Sanitize.hasOneOf(SanitizerKind::Address | SanitizerKind::KernelAddress | - SanitizerKind::HWAddress)) + SanitizerKind::HWAddress | + SanitizerKind::KernelHWAddress)) return; IsDynInit &= !CGM.isInSanitizerBlacklist(GV, Loc, Ty, "init"); IsBlacklisted |= CGM.isInSanitizerBlacklist(GV, Loc, Ty); @@ -60,7 +61,8 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV, const VarDecl &D, bool IsDynInit) { if (!CGM.getLangOpts().Sanitize.hasOneOf(SanitizerKind::Address | SanitizerKind::KernelAddress | - SanitizerKind::HWAddress)) + SanitizerKind::HWAddress | + SanitizerKind::KernelHWAddress)) return; std::string QualName; llvm::raw_string_ostream OS(QualName); @@ -79,7 +81,8 @@ void SanitizerMetadata::disableSanitizerForGlobal(llvm::GlobalVariable *GV) { // instrumentation. if (CGM.getLangOpts().Sanitize.hasOneOf(SanitizerKind::Address | SanitizerKind::KernelAddress | - SanitizerKind::HWAddress)) + SanitizerKind::HWAddress | + SanitizerKind::KernelHWAddress)) reportGlobalToASan(GV, SourceLocation(), "", QualType(), false, true); } |