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: Marco Elver <elver@google.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Andrey Konovalov <andreyknvl@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Nathan 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: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
3511af0a72
Коммит
527f6750d9
|
@ -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.
|
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
|
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.
|
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
|
Currently generic KASAN is supported for the x86_64, arm64, xtensa, s390 and
|
||||||
riscv architectures, and tag-based KASAN is supported only for arm64.
|
riscv architectures, and tag-based KASAN is supported only for arm64.
|
||||||
|
|
|
@ -54,9 +54,9 @@ config KASAN_GENERIC
|
||||||
Enables generic KASAN mode.
|
Enables generic KASAN mode.
|
||||||
|
|
||||||
This mode is supported in both GCC and Clang. With GCC it requires
|
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
|
version 8.3.0 or later. Any supported Clang version is compatible,
|
||||||
later, but detection of out-of-bounds accesses for global variables
|
but detection of out-of-bounds accesses for global variables is
|
||||||
is supported only since Clang 11.
|
supported only since Clang 11.
|
||||||
|
|
||||||
This mode consumes about 1/8th of available memory at kernel start
|
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.
|
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.
|
Enables software tag-based KASAN mode.
|
||||||
|
|
||||||
This mode requires Top Byte Ignore support by the CPU and therefore
|
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
|
is only supported for arm64. This mode requires Clang.
|
||||||
or later.
|
|
||||||
|
|
||||||
This mode consumes about 1/16th of available memory at kernel start
|
This mode consumes about 1/16th of available memory at kernel start
|
||||||
and introduces an overhead of ~20% for the rest of the allocations.
|
and introduces an overhead of ~20% for the rest of the allocations.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче