x86: fortify: kmsan: fix KMSAN fortify builds
authorAlexander Potapenko <glider@google.com>
Mon, 24 Oct 2022 21:21:44 +0000 (23:21 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 28 Oct 2022 20:37:23 +0000 (13:37 -0700)
commit78a498c3a227f2ac773a8234b2ce092a4403f2c3
treed7efd152160584209dfcbde2aa4cfaa65f728425
parent59c8a02e24894e75639bcecc3cb1e768a2792220
x86: fortify: kmsan: fix KMSAN fortify builds

Ensure that KMSAN builds replace memset/memcpy/memmove calls with the
respective __msan_XXX functions, and that none of the macros are redefined
twice.  This should allow building kernel with both CONFIG_KMSAN and
CONFIG_FORTIFY_SOURCE.

Link: https://lkml.kernel.org/r/20221024212144.2852069-5-glider@google.com
Link: https://github.com/google/kmsan/issues/89
Signed-off-by: Alexander Potapenko <glider@google.com>
Reported-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/x86/include/asm/string_64.h
include/linux/fortify-string.h
include/linux/kmsan_string.h [new file with mode: 0644]
mm/kmsan/instrumentation.c