Commit 527f6750 authored by Marco Elver's avatar Marco Elver Committed by Linus Torvalds
Browse files

kasan: remove mentions of unsupported Clang versions



Since the kernel now requires at least Clang 10.0.1, remove any mention of
old Clang versions and simplify the documentation.

Signed-off-by: default avatarMarco Elver <elver@google.com>
Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Reviewed-by: default avatarAndrey Konovalov <andreyknvl@google.com>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarNathan Chancellor <natechancellor@gmail.com>
Cc: Fangrui Song <maskray@google.com>
Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: Sedat Dilek <sedat.dilek@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lkml.kernel.org/r/20200902225911.209899-7-ndesaulniers@google.com


Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3511af0a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -13,10 +13,10 @@ KASAN uses compile-time instrumentation to insert validity checks before every
memory access, and therefore requires a compiler version that supports that.

Generic KASAN is supported in both GCC and Clang. With GCC it requires version
8.3.0 or later. With Clang it requires version 7.0.0 or later, but detection of
8.3.0 or later. Any supported Clang version is compatible, but detection of
out-of-bounds accesses for global variables is only supported since Clang 11.

Tag-based KASAN is only supported in Clang and requires version 7.0.0 or later.
Tag-based KASAN is only supported in Clang.

Currently generic KASAN is supported for the x86_64, arm64, xtensa, s390 and
riscv architectures, and tag-based KASAN is supported only for arm64.
+4 −5
Original line number Diff line number Diff line
@@ -54,9 +54,9 @@ config KASAN_GENERIC
	  Enables generic KASAN mode.

	  This mode is supported in both GCC and Clang. With GCC it requires
	  version 8.3.0 or later. With Clang it requires version 7.0.0 or
	  later, but detection of out-of-bounds accesses for global variables
	  is supported only since Clang 11.
	  version 8.3.0 or later. Any supported Clang version is compatible,
	  but detection of out-of-bounds accesses for global variables is
	  supported only since Clang 11.

	  This mode consumes about 1/8th of available memory at kernel start
	  and introduces an overhead of ~x1.5 for the rest of the allocations.
@@ -78,8 +78,7 @@ config KASAN_SW_TAGS
	  Enables software tag-based KASAN mode.

	  This mode requires Top Byte Ignore support by the CPU and therefore
	  is only supported for arm64. This mode requires Clang version 7.0.0
	  or later.
	  is only supported for arm64. This mode requires Clang.

	  This mode consumes about 1/16th of available memory at kernel start
	  and introduces an overhead of ~20% for the rest of the allocations.