x86/cfi: Extend ENDBR sealing to kCFI
authorPeter Zijlstra <peterz@infradead.org>
Wed, 21 Jun 2023 20:17:12 +0000 (22:17 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 10 Jul 2023 07:52:24 +0000 (09:52 +0200)
commit9831c6253ace48051189f6d18a15f658f94babc2
tree2c2d1e8e79478c161c37c8d55620ec5758065eb7
parentbe0fffa5ca894a971a31c5e28aa77b633a97d1dc
x86/cfi: Extend ENDBR sealing to kCFI

Kees noted that IBT sealing could be extended to kCFI.

Fundamentally it is the list of functions that do not have their
address taken and are thus never called indirectly. It doesn't matter
that objtool uses IBT infrastructure to determine this list, once we
have it it can also be used to clobber kCFI hashes and avoid kCFI
indirect calls.

Suggested-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Link: https://lkml.kernel.org/r/20230622144321.494426891%40infradead.org
arch/x86/kernel/alternative.c