On Tue, Jun 22, 2021 at 11:17 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > On Mon, 21 Jun 2021 16:18:19 -0700, Nick Desaulniers wrote: > > The kernel has been using noinstr for correctness to politely request > > that the compiler avoid adding various forms of instrumentation to > > certain functions. > > > > GCOV and PGO can both instrument functions, yet the function attribute > > to disable such instrumentation (no_profile_instrument_function) was not > > being used to suppress such implementation. Also, clang only just > > recently gained support for no_profile_instrument_function. GCC has > > supported that since 7.1+. > > > > [...] > > Applied to for-next/clang/features, thanks! > > [1/3] compiler_attributes.h: define __no_profile, add to noinstr > https://git.kernel.org/kees/c/380d53c45ff2 > [2/3] compiler_attributes.h: cleanups for GCC 4.9+ > https://git.kernel.org/kees/c/ae4d682dfd33 > [3/3] Kconfig: add ARCH_WANTS_NO_INSTR+CC_HAS_NO_PROFILE_FN_ATTR, depend on for GCOV and PGO > https://git.kernel.org/kees/c/51c2ee6d121c > > Note that I've tweaked the series slightly to move the PGO Kconfig change into > the PGO patch. Ok, LGTM. -- Thanks, ~Nick Desaulniers