summaryrefslogtreecommitdiff
path: root/libsanitizer/ubsan/ubsan_handlers.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-07-20 10:46:51 -0700
committerH.J. Lu <hjl.tools@gmail.com>2021-10-06 13:08:47 -0700
commitbb8adf080ef03288bccd9f1316ae2a1122ebcd85 (patch)
tree08a787e804a56d2630c6d2bcee8249e6e3ad106a /libsanitizer/ubsan/ubsan_handlers.h
parent2e3d50c09519d1b4899845b21843bae66ecffc2f (diff)
libsanitizer: Apply local patches
Diffstat (limited to 'libsanitizer/ubsan/ubsan_handlers.h')
-rw-r--r--libsanitizer/ubsan/ubsan_handlers.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libsanitizer/ubsan/ubsan_handlers.h b/libsanitizer/ubsan/ubsan_handlers.h
index 219fb15de55..9f412353fc0 100644
--- a/libsanitizer/ubsan/ubsan_handlers.h
+++ b/libsanitizer/ubsan/ubsan_handlers.h
@@ -215,12 +215,20 @@ enum CFITypeCheckKind : unsigned char {
CFITCK_VMFCall,
};
+struct CFIBadIcallData {
+ SourceLocation Loc;
+ const TypeDescriptor &Type;
+};
+
struct CFICheckFailData {
CFITypeCheckKind CheckKind;
SourceLocation Loc;
const TypeDescriptor &Type;
};
+/// \brief Handle control flow integrity failure for indirect function calls.
+RECOVERABLE(cfi_bad_icall, CFIBadIcallData *Data, ValueHandle Function)
+
/// \brief Handle control flow integrity failures.
RECOVERABLE(cfi_check_fail, CFICheckFailData *Data, ValueHandle Function,
uptr VtableIsValid)