UPSTREAM: 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: https://github.com/llvm/llvm-project/commit/ec2e26eaf63558934f5b73a6e530edc453cf9508 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> Bug: 244543039 Bug: 244373730 Link: https://lore.kernel.org/r/20220405221618.633743-1-samitolvanen@google.com (cherry picked from commit e6f3b3c9) Change-Id: I71d0e805fc66123107ff51f6e30d689948d64fa1 Signed-off-by:
Vincent Donnefort <vdonnefort@google.com>
Loading
Please sign in to comment