Sami Tolvanen e6f3b3c9c1 cfi: Use __builtin_function_start
Clang 14 added support for the __builtin_function_start function,
which allows us to implement the function_nocfi macro without
architecture-specific inline assembly and in a way that also works
with static initializers.

Change CONFIG_CFI_CLANG to depend on Clang >= 14, define
function_nocfi using __builtin_function_start, and remove the arm64
inline assembly implementation.

Link: ec2e26eaf6
Link: https://github.com/ClangBuiltLinux/linux/issues/1353
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will@kernel.org> # arm64
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220405221618.633743-1-samitolvanen@google.com
2022-04-13 12:16:00 -07:00
..
2022-03-28 17:29:53 -07:00
2022-04-03 10:17:48 -07:00
2022-04-13 12:16:00 -07:00
2022-03-28 17:29:53 -07:00
2022-03-28 17:29:53 -07:00
2022-03-31 11:59:03 -07:00
2022-04-02 12:14:38 -07:00
2022-03-28 17:29:53 -07:00
2022-03-28 17:29:53 -07:00
2022-03-31 11:59:03 -07:00
2022-04-10 09:55:09 -10:00
2022-03-31 11:59:03 -07:00
2022-04-02 12:33:31 -07:00
2022-03-31 11:59:03 -07:00
2022-04-13 12:16:00 -07:00