diff options
| author | Kees Cook <kees@kernel.org> | 2025-09-03 20:46:40 -0700 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-09-04 21:59:07 +0200 |
| commit | 038c7dc66e2744e5df57163b8f957745ae10d23e (patch) | |
| tree | 5561d6d660997bf5715ae10d19d3ff87d105e6f5 | |
| parent | 894af4a1cde61c3401f237184fb770f72ff12df8 (diff) | |
compiler_types.h: Move __nocfi out of compiler-specific header
Prepare for GCC KCFI support and move the __nocfi attribute from
compiler-clang.h to compiler_types.h. This was already gated by
CONFIG_CFI_CLANG, so this remains safe for non-KCFI GCC builds.
Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20250904034656.3670313-1-kees@kernel.org
| -rw-r--r-- | include/linux/compiler-clang.h | 5 | ||||
| -rw-r--r-- | include/linux/compiler_types.h | 4 |
2 files changed, 3 insertions, 6 deletions
diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h index fa4ffe037bc7..7a4568e421dc 100644 --- a/include/linux/compiler-clang.h +++ b/include/linux/compiler-clang.h @@ -96,11 +96,6 @@ # define __noscs __attribute__((__no_sanitize__("shadow-call-stack"))) #endif -#if __has_feature(kcfi) -/* Disable CFI checking inside a function. */ -#define __nocfi __attribute__((__no_sanitize__("kcfi"))) -#endif - /* * Turn individual warnings and errors on and off locally, depending * on version. diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index 16755431fc11..a910f9fa5341 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -432,7 +432,9 @@ struct ftrace_likely_data { # define __noscs #endif -#ifndef __nocfi +#if defined(CONFIG_CFI_CLANG) +# define __nocfi __attribute__((__no_sanitize__("kcfi"))) +#else # define __nocfi #endif |
