From nobody Fri Jun 12 22:34:03 2026 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E38D363C61 for ; Wed, 8 Apr 2026 08:32:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775637149; cv=none; b=mAVivVR6FvXy+lW6cZzCpyap7nS7EykocVuvDFFa4Rvab+Go3IqDCyiwCvnUOhmQvYxapWMS6ivM7gJdh4pUaBLnSFI9zSR25rNATvq/SigAZC6CB1MjiBmZANSnR5XuO3msD8W1v1SaoRMHXw26z+Rj4W9eELVgybo+ZOW19YU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775637149; c=relaxed/simple; bh=wci7le9h1LpQXNgtXZg4XVYpmfUBKH6BCtl+hz78Lfw=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=GE9xywX3z2A1g7f/YLUPWPuSPvYl13rw8sqsjuBBGNRSy21K17VmQ6Llk2gwYJlVSdo0JH6gOqQKZmiBaf33fuKNiUvY1i+N2uqM4zeqf+RPznTcdHwKduWa8Qk5U34FCz/DZMJ2uMOyQp7VNtR94SniCf1gXe66Wjh1BGBUPNE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=OULdpTln; arc=none smtp.client-ip=209.85.221.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="OULdpTln" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-43d0de4bfb7so7842492f8f.3 for ; Wed, 08 Apr 2026 01:32:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1775637147; x=1776241947; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=b9Uj72E/5HEbuzpRNlEo97Kbz1MHWubhYMw6Gvh/728=; b=OULdpTlnVCDduBPlGExZWqEoTUjIBZPfWurYdiR/PDIB5aOHcO9lr1tt1xZltk1Nr+ lIpq+sG2zyd/ds1BCMvm3uB/IxWjG0MWdQmX5Uk8ErYY+/xZmWRs46cwnEb3bByJA0rY i5Ezpp5KgGi9fKwfeN88JiPzVYMmdNjPCT+pvKg0zftzZkurCBKO6JAu2+1+zQRHWSl7 sVFh07CZBjOcq/2hQSrcwFcLgn3m5MO/Atm254r4+EUHloi9ACg/Ne85GWBdCpO+9OY0 14Z019iUsfsk47gL0kERWrym0ykz6bVnxivTUGdYAZb/mRt9ik4yasr4z7avvRfDLHas +gcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775637147; x=1776241947; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=b9Uj72E/5HEbuzpRNlEo97Kbz1MHWubhYMw6Gvh/728=; b=Z6WpB6/oDArFathtZfiTb7Qj08Jw4UJ1R0tccFumSp0eJymk7swM87b6d6EHvaJh7S VO1zs9rmlFwomvm2mbCWb9lSZ1+cnPqu6krdXNPGNwRvgBjYY6wqpMc65Tmbc7Iq8dPb zPsEK5Ev+aDmi+Zii7hmzUva4xjqcR08dUxuxe2083ZJeYVhQW15sV0MjVTGgoHekX0I s/6QL/lbmSIQ29luER4o4VSKkY2a1Tx/jmRqUbWZbyp+S5vpM47l5tlMsBABDNvBCRF6 YODQqHK32oJxUaSea2MLuSpiBaufLDRzyM+RA49hscWFgbc1G6KNFzd/4dITomoxanem G/qg== X-Forwarded-Encrypted: i=1; AJvYcCWgmxFG/m40GNteZTn9FhgkD0qg0spNvmwQs94VQzouy19cLEEs+bZxcPKuIuJ0grvFoKvtfnE6B+CKbTI=@vger.kernel.org X-Gm-Message-State: AOJu0YwvMEtuvj5bHNUZMnx/rzwF8dqGW4uxERhfnh6yCiHdzpqhETnS IO3mFH4YOIXhC+6SRZs43ueOlmoijjUwHnCGi20oMrkcCVQCepRL9nexmCv/sPNvr6A0lz1M2xq HHUp8ZP4ghukXR3a7ZQ== X-Received: from wroz12.prod.google.com ([2002:adf:f1cc:0:b0:439:b9ad:6599]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:64e6:0:b0:43d:740:fb37 with SMTP id ffacd0b85a97d-43d292cd110mr29402509f8f.24.1775637146677; Wed, 08 Apr 2026 01:32:26 -0700 (PDT) Date: Wed, 08 Apr 2026 08:32:16 +0000 In-Reply-To: <20260408-kasan-rust-sw-tags-v3-0-e07964d14363@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260408-kasan-rust-sw-tags-v3-0-e07964d14363@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=846; i=aliceryhl@google.com; h=from:subject:message-id; bh=wci7le9h1LpQXNgtXZg4XVYpmfUBKH6BCtl+hz78Lfw=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBp1hKWD5EjhG46W626xQ0DsRPJfdbtTLMTOQPst JQBJO27wEWJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCadYSlgAKCRAEWL7uWMY5 RncCD/4+9/eYG4RUgoLUxawTtLG28tjzL4U3sNr55odfflRChLodXfskJk8q/nWrws0Sx6FIfJZ Mec3cMW9K5S8ES71aiEhUh0phU/CILz63L4NboyQTxbN7+A5JRoOFNvg26SBqqGmy58Gx/pRFIS wodt75Fpt0aMTG2JK85WdhKXRs77Hemp5upqMbTTxsH/Kfwi0T9Hnn+GgCTedDVBhG4ydVUKgoV /+BuKyw73IIz0ZJMCaUcAhoRS/tM1n4IJipmQlV6F6pSNi6UdhQsAZONMYzZ4vLZaedy1OjE2m5 BzeAKHUsiqOfog8IbHTB8FXmjDqawmhA+yD/v1XaVUFUJEyPNZPH4mC2m6JlxFqCpmK7w5DwSRy NDvnu0TLs3b3YRitQjAclC61vZTNsJcL8sfVeOj0frpqZPZ+yERyGFFWHtIN0K1IQ95HflAAgQ0 DBa2u2mLiEotwCb9HcOdU6dQktBlu76PKxQi/SLp3S5ivtxbgNpg/Vmb/eodMEbpagl36VEMmT5 OZtEBwuc9vGiNE4ugyEQsiOQctDaxnw6zxV4s5lxUuh2VIMhxK0cdw7TEvBZIiJ5ImKvhqVLSvo kBaDFAhXN1YIwExsDTI3Cr5YyuRjltAfivoS6KJzRYOek7oiqg9tQDOtmM4YGLimMZU93H5vaux IWMQUVBDgSic9vw== X-Mailer: b4 0.14.3 Message-ID: <20260408-kasan-rust-sw-tags-v3-1-e07964d14363@google.com> Subject: [PATCH v3 1/2] rust: kasan: KASAN+RUST requires clang From: Alice Ryhl To: Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , Miguel Ojeda Cc: Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Kernel KASAN involves passing various llvm/gcc specific arguments to the C and Rust compiler. Since these arguments differ between llvm and gcc, it's not safe to mix an llvm-based rustc with a gcc build when kasan is enabled. Signed-off-by: Alice Ryhl Reviewed-by: Gary Guo --- init/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/init/Kconfig b/init/Kconfig index 444ce811ea67..1d41c7c5e986 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -2179,6 +2179,7 @@ config RUST depends on !CFI || HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC select CFI_ICALL_NORMALIZE_INTEGERS if CFI depends on !CALL_PADDING || RUSTC_VERSION >=3D 108100 + depends on !KASAN || CC_IS_CLANG depends on !KASAN_SW_TAGS depends on !(MITIGATION_RETHUNK && KASAN) || RUSTC_VERSION >=3D 108300 help --=20 2.53.0.1213.gd9a14994de-goog From nobody Fri Jun 12 22:34:03 2026 Received: from mail-ed1-f74.google.com (mail-ed1-f74.google.com [209.85.208.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F387389479 for ; Wed, 8 Apr 2026 08:32:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775637152; cv=none; b=MyXUwMt9pdXiwAkQVvLaOQo+YzkJAuXtURYZbbJORWb7VEC6jpP8RdI1f7nMp+7Mpq/a+zsL4Xqhjem+/czbPo1oENzWxozTegDdQZh3EdeyWpNE96feBhRUWqMw+Azs/MQ604jZ2LY3rwKhzlZezUzBhWJ56ILg6wABvl22mFE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775637152; c=relaxed/simple; bh=tk6y7TOYIWgQW/FpQmv39FCi1vkOuWkk3oQ6GYLat74=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=EFisJuQHjg9qJYWkCKUKRmKIKR3geR25Ddb1u1FPfEu0S22NqA6k37Nq4YOt/V7eoL8kK3pFNgi9KFgvM9Yu+0qY64yfCkfXKTdR8bCz+c4FE3X1pQeS1sjAoe4neOT0QN3jshLY9iAPptNf27iho/FGDKPZcrOLmE2doScYM28= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=j4Hcun2J; arc=none smtp.client-ip=209.85.208.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="j4Hcun2J" Received: by mail-ed1-f74.google.com with SMTP id 4fb4d7f45d1cf-66ed15cab53so3487237a12.1 for ; Wed, 08 Apr 2026 01:32:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1775637148; x=1776241948; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Cb2UcNuzPdKbHPpFl5h3svrVmsdCd+TIp33nVOmo8A8=; b=j4Hcun2JItdUaHBQ+xj+s2s9pwQ6g2OxRloTY/wRViLB7RKRPCBwaUpZSPrRN1E5VI DK/EKBIudF4v4gAqk/Hhi68Q7F2C80JdRrSQEoLsoRcspgdouf1S0C5g1hRs9+cobaEI H3wESzZDGFVIrNU/Cs+vEKZLchWAwCzVtksu1mzAHBgEhr0tNnGXw51fCJXJ/2xgqqX6 4YOEvakC0OHNEBUlDmvJQ7arcEIGEx0tT6Sm1UtWseqIdPRSoGQPZhIau27E22ub/qWy /XtpsmrBkRXuvOFoFkUbLtxjT3OAlks7kxaOPwufpfobKry3JF+EIy0xQmM6CykCeSCo cO9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775637148; x=1776241948; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Cb2UcNuzPdKbHPpFl5h3svrVmsdCd+TIp33nVOmo8A8=; b=qAEEsUf3S5o7iRFpv+XJQfg4FvW7eAmbiswC+yzwx0ugsMjvA2JlzIy9uMzfnAVWdI cPSH14PcSZu2s/BA9sJAIrQaHdbKqQ3Ze6YUDp9ONmOZKDAXDzwbN0De+pn4EzXqlpXf OSqtmcc1WRaA/aMsPiqt96y5HEFkQ4xA+/lJSapawNzphFVbSUXO8+SmEmEgITh/kA9s Yborg9G66+x2UVXnyc8POrpM6v+MgGWAwl7swVMuHGJDkxE7pzG8NQt1UBBN4i6U2dKp cDIlGIjYODOK6iQ+YzUIlZrnQPNv7t4wpwdR7YiGbpfYs7DkIOdqYE+HvCJ/DL/QR7rS bChw== X-Forwarded-Encrypted: i=1; AJvYcCVljCAle8aQ03KvaAfyY4mMiKSTauBt4bU4k+hw/GfoY4xAnjy3yKreX9FF+LFNco7sGd3ZNpisoWGU9pc=@vger.kernel.org X-Gm-Message-State: AOJu0YyoC2lBaOkEoAo462T/h8SUxaq1PoGX6jvULM8HWjC8mJ2mqR4K 8CWEXs+bTkXO8vVA9b31hR3Ud7GVph2YxKNGNv4t6AC/mxZ7ecdcapK/61xnjbqlXd8/TsF8qDf ofOSk2ma6h7G4iiRMyQ== X-Received: from edxi26.prod.google.com ([2002:a05:6402:55a:b0:66f:7148:b18d]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6402:a0c6:b0:66f:2fff:683a with SMTP id 4fb4d7f45d1cf-66f2fff699cmr3538857a12.4.1775637148233; Wed, 08 Apr 2026 01:32:28 -0700 (PDT) Date: Wed, 08 Apr 2026 08:32:17 +0000 In-Reply-To: <20260408-kasan-rust-sw-tags-v3-0-e07964d14363@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260408-kasan-rust-sw-tags-v3-0-e07964d14363@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1912; i=aliceryhl@google.com; h=from:subject:message-id; bh=tk6y7TOYIWgQW/FpQmv39FCi1vkOuWkk3oQ6GYLat74=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBp1hKWBPurIEDd6Tqbcel2S/jJm3uXAXZVnBj1G 6dZYyL7LSmJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCadYSlgAKCRAEWL7uWMY5 RlexD/926trzJjwCHzQ2mRKzubMdpJQy51hNXt0AgxdrcM9hImFJUya1SAz+v2uLxSpCBAECHd9 6CBekT9oWOAlW5SIq5rTjRd1SlFpdnuHn2gOsQBf6C/yPogtZelp9CpzyoefAp1cvg6wbtUw8Q/ opVkOeAGQk+QNknhWNkuM4D6AMs7Ff2sLNDRzefwbI5JennszZX7QAsXghyG2e7c3GmTUrlcikn GT3qqtQJQtGvmCxjFYR+wkoLRXWhQTSZ6U+Oiy062BQ7rk3KC1C9mPFO9y+6aGyu+VgY2b9U7YE fbwzzPXUN5BAr32HPosw3DUgdxJ3+IyPJJo4ieGqO3GLE60FaXaihUl/ZNzvtd+2kuditKsF8nx zWTuirIQL2ibKlS7ALpHTLTOQ3gMRfdt543PddhOQYSaUHM1Cme7m8CJ07iNWZt0rNsA1dLF5BA u5pPhrR76opAqAlfkM8XEE8uz52nWe6iRi03ISyJFTurJk+LRAZVHjAzBwBJeKcosGgek9oiIw8 +7dMzdErbr47x6AC1LHYvAKWme2syt1C1mj4TM29UR+68B/hHfwNkIiqaUS2PqFdRovkD0a1eSh xIRfTPgDQOpWihhAbB14V0rpr+1LpSlofseFiUeWfeXSfnTns+aoGSezhvsk3+x+nlDta9yLFLh jqrpEzJmCbr6USQ== X-Mailer: b4 0.14.3 Message-ID: <20260408-kasan-rust-sw-tags-v3-2-e07964d14363@google.com> Subject: [PATCH v3 2/2] rust: kasan: add support for Software Tag-Based KASAN From: Alice Ryhl To: Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , Miguel Ojeda Cc: Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: https://github.com/rust-lang/rust/pull/153049 [1] Reviewed-by: Danilo Krummrich Signed-off-by: Alice Ryhl Reviewed-by: Gary Guo --- init/Kconfig | 2 +- scripts/Makefile.kasan | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/init/Kconfig b/init/Kconfig index 1d41c7c5e986..d2edb1dbd2f2 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -2180,7 +2180,7 @@ config RUST select CFI_ICALL_NORMALIZE_INTEGERS if CFI depends on !CALL_PADDING || RUSTC_VERSION >=3D 108100 depends on !KASAN || CC_IS_CLANG - depends on !KASAN_SW_TAGS + depends on !KASAN_SW_TAGS || RUSTC_VERSION >=3D 109600 depends on !(MITIGATION_RETHUNK && KASAN) || RUSTC_VERSION >=3D 108300 help Enables Rust support in the kernel. diff --git a/scripts/Makefile.kasan b/scripts/Makefile.kasan index 0ba2aac3b8dc..91504e81247a 100644 --- a/scripts/Makefile.kasan +++ b/scripts/Makefile.kasan @@ -71,8 +71,6 @@ ifdef CONFIG_KASAN_SW_TAGS =20 CFLAGS_KASAN :=3D -fsanitize=3Dkernel-hwaddress =20 -# This sets flags that will enable SW_TAGS KASAN once enabled in Rust. The= se -# will not work today, and is guarded against in dependencies for CONFIG_R= UST. RUSTFLAGS_KASAN :=3D -Zsanitizer=3Dkernel-hwaddress \ -Zsanitizer-recover=3Dkernel-hwaddress =20 --=20 2.53.0.1213.gd9a14994de-goog