x86/cfi: Extend {JMP,CAKK}_NOSPEC comment
authorPeter Zijlstra <peterz@infradead.org>
Thu, 22 Jun 2023 14:27:13 +0000 (16:27 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 10 Jul 2023 07:52:23 +0000 (09:52 +0200)
With the introduction of kCFI these helpers are no longer equivalent
to C indirect calls and should be used with care.

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.360957723%40infradead.org
arch/x86/include/asm/nospec-branch.h

index 55388c9..1a65cf4 100644 (file)
  * JMP_NOSPEC and CALL_NOSPEC macros can be used instead of a simple
  * indirect jmp/call which may be susceptible to the Spectre variant 2
  * attack.
+ *
+ * NOTE: these do not take kCFI into account and are thus not comparable to C
+ * indirect calls, take care when using. The target of these should be an ENDBR
+ * instruction irrespective of kCFI.
  */
 .macro JMP_NOSPEC reg:req
 #ifdef CONFIG_RETPOLINE