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
committerMartin Liska <mliska@suse.cz>2021-11-04 13:26:17 +0100
commit65ade6a34cb62f82494c0a8ca4ff3600f3a94af9 (patch)
tree39c87aa79f20855dec0ec03f01d5310cb4ac92d6 /libsanitizer/ubsan/ubsan_handlers.h
parent0cedf1fb76c10bbb9d23f4953b8fecd8eba908d3 (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)