Re: [PATCH] kcov: add __no_sanitize_coverage to fix noinstr for all architectures

From: Marco Elver
Date: Tue May 25 2021 - 18:30:15 EST


On Wed, 26 May 2021 at 00:23, kernel test robot <lkp@xxxxxxxxx> wrote:
[...]
> [auto build test WARNING on linux/master]
> [also build test WARNING on kees/for-next/pstore linus/master v5.13-rc3 next-20210525]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/0day-ci/linux/commits/Marco-Elver/kcov-add-__no_sanitize_coverage-to-fix-noinstr-for-all-architectures/20210526-020046
> base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dd860052c99b1e088352bdd4fb7aef46f8d2ef47
> config: s390-randconfig-r002-20210525 (attached as .config)
> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 99155e913e9bad5f7f8a247f8bb3a3ff3da74af1)

^^^ you're using a Clang pre-release, breakages are expected until
Clang 13 is final.

I think there was a thread about this at some point. I guess LKP has
decided that testing Clang pre-releases is fair game? I guess it's
useful, but this warning here needs to be ignored. It'll go away when
you rebuild your pre-release Clang 13 from the latest LLVM main
branch.

[...]
> >> arch/s390/kernel/nmi.c:182:6: warning: unknown sanitizer 'coverage' ignored [-Wunknown-sanitizers]
> void noinstr s390_handle_mcck(void)
> ^
> include/linux/compiler_types.h:213:35: note: expanded from macro 'noinstr'
> __no_kcsan __no_sanitize_address __no_sanitize_coverage
> ^
> include/linux/compiler-clang.h:49:59: note: expanded from macro '__no_sanitize_coverage'
> #define __no_sanitize_coverage __attribute__((no_sanitize("coverage")))
> ^

Clang 13 will support the attribute, but this is a pre-release Clang
13 -- so please ignore the report. FWIW, I tested my patch of course
with a version of Clang 13 that supports the attribute. :-)

Thanks,
-- Marco