commit | cafcf59970d8f6cda5a0e3c2b40c66c3895c6b86 | [log] [tgz] |
---|---|---|
author | Joshua Peraza <jperaza@chromium.org> | Thu Sep 10 14:23:59 2020 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Jan 19 07:15:15 2021 -0800 |
tree | 792fc915e64fef44cb784e0085721c6e52d0db38 | |
parent | 1acdf90f4399e5b47fa781761c4e2488298ff759 [diff] |
linux, mac: disable cfi-icall for cross-dso calls CFI attempts to verify that the dynamic type of a function object matches the static type of the function pointer used to call it. https://clang.llvm.org/docs/ControlFlowIntegrity.html#indirect-function-call-checking However, the analyzer does not have enough information to check cross-dso calls. In these instances, CFI crashes upon calling the function with an error like: pthread_create_linux.cc:60:16: runtime error: control flow integrity check for type 'int (unsigned long *, const pthread_attr_t *, void *(*)(void *), void *)' failed during indirect function call (/lib/x86_64-linux-gnu/libpthread.so.0+0x9200): note: (unknown) defined here pthread_create_linux.cc:60:16: note: check failed in crashpad_handler, destination function located in /lib/x86_64-linux-gnu/libpthread.so.0 Change-Id: I94af4301208a41166c77a6a48d3b2f48a0cebf99 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2339332 Commit-Queue: Joshua Peraza <jperaza@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> GitOrigin-RevId: 3e065b11d0cad1742f4cc4cf8acb8fa075f364ca
Crashpad is a crash-reporting system.
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.