Re: [PATCH] rust: KASAN+RETHUNK requires rustc 1.83.0

From: Miguel Ojeda
Date: Thu Sep 26 2024 - 17:20:38 EST


On Thu, Sep 26, 2024 at 11:39 AM Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote:
>
> When enabling both KASAN and RETHUNK, objtool emits the following
> warnings:
>
> rust/core.o: warning: objtool: asan.module_ctor+0x13: 'naked' return found in MITIGATION_RETHUNK build
> rust/core.o: warning: objtool: asan.module_dtor+0x13: 'naked' return found in MITIGATION_RETHUNK build
>
> This is caused by the -Zfunction-return=thunk-extern flag in rustc not
> properly informing LLVM about the mitigation, which means that the KASAN
> functions asan.module_ctor and asan.module_dtor are generated without
> the rethunk mitigation.
>
> The other mitigations that we enabled for Rust (SLS, RETPOLINE) do not
> have the same bug, as they're being applied through the target-feature
> functionality instead.
>
> This is being fixed for rustc 1.83.0, so update Kconfig to reject this
> configuration on older compilers.
>
> Link: https://github.com/rust-lang/rust/pull/130824
> Fixes: d7868550d573 ("x86/rust: support MITIGATION_RETHUNK")
> Reported-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> Closes: https://lore.kernel.org/all/CANiq72myZL4_poCMuNFevtpYYc0V0embjSuKb7y=C+m3vVA_8g@xxxxxxxxxxxxxx/
> Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>

Applied to `rust-fixes` -- thanks!

Cheers,
Miguel