Skip to the content.

CFI in kernel

阅读 LWN 的时候1,遇到 CFI 相关的文章,这个东西多次骚扰过我,忍不了。

TODO

阅读,随便找点文章读读

https://www.redhat.com/en/blog/fighting-exploits-control-flow-integrity-cfi-clang

Calls to virtual functions or class casting in software that were written in C++, as an example, can only be determined during execution. For these cases clang relies on LTO (link-time optimization) information. To compile a code with CFI support one necessarily needs to compile it with LTO enabled.

TODO 什么是 LTO

Currently, for x86_64 architecture, LLVM can only validate forward-edge control flow, thus function return (backward-edge) is not checked. Given CFI requires the software to be compiled with the LTO option, this may cause some issues when compiling software linked with shared libraries in some cases.

TODO

  1. 什么是 forward-edge control flow
  2. 为什么无法支持

[ ] https://lwn.net/Articles/898040/

[ ] https://lwn.net/Articles/856514/

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。

  1. https://lwn.net/Articles/898157/bigpage