The patch titled Subject: kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures-v2 has been removed from the -mm tree. Its filename was kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures-v2.patch This patch was dropped because it was folded into kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures.patch ------------------------------------------------------ From: Marco Elver <elver@xxxxxxxxxx> Subject: kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures-v2 Implement __has_feature(coverage_sanitizer) in Clang (https://reviews.llvm.org/D103159) and use instead of version check. Link: https://lkml.kernel.org/r/20210527162655.3246381-1-elver@xxxxxxxxxx Signed-off-by: Marco Elver <elver@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Arvind Sankar <nivedita@xxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx> Cc: Miguel Ojeda <ojeda@xxxxxxxxxx> Cc: Nathan Chancellor <nathan@xxxxxxxxxx> Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Cc: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/compiler-clang.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/include/linux/compiler-clang.h~kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures-v2 +++ a/include/linux/compiler-clang.h @@ -45,7 +45,12 @@ #define __no_sanitize_undefined #endif -#if defined(CONFIG_KCOV) && CONFIG_CLANG_VERSION >= 130000 +/* + * Support for __has_feature(coverage_sanitizer) was added in Clang 13 together + * with no_sanitize("coverage"). Prior versions of Clang support coverage + * instrumentation, but cannot be queried for support by the preprocessor. + */ +#if __has_feature(coverage_sanitizer) #define __no_sanitize_coverage __attribute__((no_sanitize("coverage"))) #else #define __no_sanitize_coverage _ Patches currently in -mm which might be from elver@xxxxxxxxxx are kfence-unconditionally-use-unbound-work-queue.patch kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures.patch kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures-v3.patch