Skip to content

Commit 72d33b8

Browse files
Darksonnojeda
authored andcommitted
rust: kasan: add support for Software Tag-Based KASAN
This adds support for Software Tag-Based KASAN (KASAN_SW_TAGS) when CONFIG_RUST is enabled. This requires that rustc includes support for the kernel-hwaddress sanitizer, which is available since 1.96.0 [1]. Unlike with clang, we need to pass -Zsanitizer-recover in addition to -Zsanitizer because the option is not implied automatically. The kasan makefile uses different names for the flags depending on whether CC is clang or gcc, but as we require that CC is clang when using KASAN, we do not need to try to handle mixed gcc/llvm builds when Rust is enabled. Link: rust-lang/rust#153049 [1] Reviewed-by: Danilo Krummrich <dakr@kernel.org> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: Gary Guo <gary@garyguo.net> Link: https://patch.msgid.link/20260408-kasan-rust-sw-tags-v3-2-e07964d14363@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1 parent 5b27154 commit 72d33b8

2 files changed

Lines changed: 1 addition & 3 deletions

File tree

init/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2199,7 +2199,7 @@ config RUST
21992199
depends on !CFI || HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
22002200
select CFI_ICALL_NORMALIZE_INTEGERS if CFI
22012201
depends on !KASAN || CC_IS_CLANG
2202-
depends on !KASAN_SW_TAGS
2202+
depends on !KASAN_SW_TAGS || RUSTC_VERSION >= 109600
22032203
help
22042204
Enables Rust support in the kernel.
22052205

scripts/Makefile.kasan

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ ifdef CONFIG_KASAN_SW_TAGS
7171

7272
CFLAGS_KASAN := -fsanitize=kernel-hwaddress
7373

74-
# This sets flags that will enable SW_TAGS KASAN once enabled in Rust. These
75-
# will not work today, and is guarded against in dependencies for CONFIG_RUST.
7674
RUSTFLAGS_KASAN := -Zsanitizer=kernel-hwaddress \
7775
-Zsanitizer-recover=kernel-hwaddress
7876

0 commit comments

Comments
 (0)