UPSTREAM: kasan: remove clang version check for KASAN_STACK

asan-stack mode still uses dangerously large kernel stacks of tens of
kilobytes in some drivers, and it does not seem that anyone is working
on the clang bug.

Turn it off for all clang versions to prevent users from accidentally
enabling it once they update to clang-9, and to help automated build
testing with clang-9.

Link: https://bugs.llvm.org/show_bug.cgi?id=38809
Link: http://lkml.kernel.org/r/20190719200347.2596375-1-arnd@arndb.de
Fixes: 6baec880d7a5 ("kasan: turn off asan-stack for clang-8 and earlier")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Andrey Konovalov <andreyknvl@google.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit ebb6d35a74ce21ce1673b8f404c1039d5a1e7e2d)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I402d4d41933caa118effce21dba82c895812200d
This commit is contained in:
Arnd Bergmann
2019-08-02 21:48:54 -07:00
committed by Greg Kroah-Hartman
parent 7783c5c8ec
commit fdf14d23dd

View File

@@ -105,7 +105,6 @@ endchoice
config KASAN_STACK_ENABLE config KASAN_STACK_ENABLE
bool "Enable stack instrumentation (unsafe)" if CC_IS_CLANG && !COMPILE_TEST bool "Enable stack instrumentation (unsafe)" if CC_IS_CLANG && !COMPILE_TEST
default !(CLANG_VERSION < 90000)
depends on KASAN depends on KASAN
help help
The LLVM stack address sanitizer has a know problem that The LLVM stack address sanitizer has a know problem that
@@ -114,11 +113,11 @@ config KASAN_STACK_ENABLE
Disabling asan-stack makes it safe to run kernels build Disabling asan-stack makes it safe to run kernels build
with clang-8 with KASAN enabled, though it loses some of with clang-8 with KASAN enabled, though it loses some of
the functionality. the functionality.
This feature is always disabled when compile-testing with clang-8 This feature is always disabled when compile-testing with clang
or earlier to avoid cluttering the output in stack overflow to avoid cluttering the output in stack overflow warnings,
warnings, but clang-8 users can still enable it for builds without but clang users can still enable it for builds without
CONFIG_COMPILE_TEST. On gcc and later clang versions it is CONFIG_COMPILE_TEST. On gcc it is assumed to always be safe
assumed to always be safe to use and enabled by default. to use and enabled by default.
config KASAN_STACK config KASAN_STACK
int int