Messages in this thread Patch in this message | | | Date | Fri, 1 Apr 2022 13:19:15 -0700 | Subject | [PATCH 2/3] linux/compiler-clang.h: define function_nocfi | From | Sami Tolvanen <> |
| |
Use __builtin_function_start() to implement the function_nocfi() macro when CONFIG_CFI_CLANG is selected.
Signed-off-by: Sami Tolvanen <samitolvanen@google.com> --- include/linux/compiler-clang.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h index babb1347148c..c84fec767445 100644 --- a/include/linux/compiler-clang.h +++ b/include/linux/compiler-clang.h @@ -69,6 +69,16 @@ #define __nocfi __attribute__((__no_sanitize__("cfi"))) #define __cficanonical __attribute__((__cfi_canonical_jump_table__)) +#if defined(CONFIG_CFI_CLANG) +/* + * With CONFIG_CFI_CLANG, the compiler replaces function address + * references with the address of the function's CFI jump table + * entry. The function_nocfi macro always returns the address of the + * actual function instead. + */ +#define function_nocfi(x) __builtin_function_start(x) +#endif + /* * Turn individual warnings and errors on and off locally, depending * on version. -- 2.35.0
| |