]> git.itanic.dy.fi Git - linux-stable/commit
Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR
authorNick Desaulniers <ndesaulniers@google.com>
Mon, 21 Jun 2021 23:18:22 +0000 (16:18 -0700)
committerKees Cook <keescook@chromium.org>
Tue, 22 Jun 2021 18:07:18 +0000 (11:07 -0700)
commit51c2ee6d121ceb31ab8d35aff4ce53007aefb455
tree9f6d82ee01a13154a7c4eb4c4db87073b5379b8a
parentae4d682dfd3350d9836dafeed1fc5aa1e27c4963
Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR

We don't want compiler instrumentation to touch noinstr functions,
which are annotated with the no_profile_instrument_function function
attribute. Add a Kconfig test for this and make GCOV depend on it, and
in the future, PGO.

If an architecture is using noinstr, it should denote that via this
Kconfig value. That makes Kconfigs that depend on noinstr able to express
dependencies in an architecturally agnostic way.

Cc: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/lkml/YMTn9yjuemKFLbws@hirez.programming.kicks-ass.net/
Link: https://lore.kernel.org/lkml/YMcssV%2Fn5IBGv4f0@hirez.programming.kicks-ass.net/
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210621231822.2848305-4-ndesaulniers@google.com
arch/Kconfig
arch/arm64/Kconfig
arch/s390/Kconfig
arch/x86/Kconfig
init/Kconfig
kernel/gcov/Kconfig