[PATCH RFC] Fail the build on RUST=y and RUST_IS_AVAILABLE=n

Sasha Finkelstein posted 1 patch 1 month ago
There is a newer version of this series
init/Kconfig | 1 -
1 file changed, 1 deletion(-)
[PATCH RFC] Fail the build on RUST=y and RUST_IS_AVAILABLE=n
Posted by Sasha Finkelstein 1 month ago
The current approach of silently disabling all rust drivers if the
toolchain is missing results in users that try to compile their own
kernels getting a "successful" build and then being confused about where
did their drivers go. In comparison, missing openssl results in a build
failure, not a disappearance of everything that depends on it.

Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
---
 init/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index 2937c4d308ae..f7d4c7ea764f 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2190,7 +2190,6 @@ config PROFILING
 config RUST
 	bool "Rust support"
 	depends on HAVE_RUST
-	depends on RUST_IS_AVAILABLE
 	select EXTENDED_MODVERSIONS if MODVERSIONS
 	depends on !MODVERSIONS || GENDWARFKSYMS
 	depends on !GCC_PLUGIN_RANDSTRUCT

---
base-commit: 1bfaee9d3351b9b32a99766bbfb1f5baed60ddef
change-id: 20260510-evolve-to-crab-8cba1768dcd5

Best regards,
--  
Sasha Finkelstein <k@chaosmail.tech>
Re: [PATCH RFC] Fail the build on RUST=y and RUST_IS_AVAILABLE=n
Posted by Miguel Ojeda 1 month ago
On Sun, May 10, 2026 at 3:36 PM Sasha Finkelstein <k@chaosmail.tech> wrote:
>
> The current approach of silently disabling all rust drivers if the
> toolchain is missing results in users that try to compile their own
> kernels getting a "successful" build and then being confused about where
> did their drivers go. In comparison, missing openssl results in a build
> failure, not a disappearance of everything that depends on it.

Yeah, it is quite confusing (though it was done on purpose).

Personally, I think it may be time to finally change it.

Cheers,
Miguel
Re: [PATCH RFC] Fail the build on RUST=y and RUST_IS_AVAILABLE=n
Posted by Gary Guo 1 month ago
On Sun May 10, 2026 at 2:45 PM BST, Miguel Ojeda wrote:
> On Sun, May 10, 2026 at 3:36 PM Sasha Finkelstein <k@chaosmail.tech> wrote:
>>
>> The current approach of silently disabling all rust drivers if the
>> toolchain is missing results in users that try to compile their own
>> kernels getting a "successful" build and then being confused about where
>> did their drivers go. In comparison, missing openssl results in a build
>> failure, not a disappearance of everything that depends on it.
>
> Yeah, it is quite confusing (though it was done on purpose).
>
> Personally, I think it may be time to finally change it.

I believe the original reason for doing so is that people can use allyesconfig
and it'll disable all Rust modules if they don't have a working Rust compiler.

Do you intend to change it so that allyesconfig needs Rust, or is there a
different mechanism to make allyesconfig ignore Rust modules?

Best,
Gary
Re: [PATCH RFC] Fail the build on RUST=y and RUST_IS_AVAILABLE=n
Posted by Janne Grunau 1 month ago
On Sun, May 10, 2026 at 04:53:15PM +0100, Gary Guo wrote:
> On Sun May 10, 2026 at 2:45 PM BST, Miguel Ojeda wrote:
> > On Sun, May 10, 2026 at 3:36 PM Sasha Finkelstein <k@chaosmail.tech> wrote:
> >>
> >> The current approach of silently disabling all rust drivers if the
> >> toolchain is missing results in users that try to compile their own
> >> kernels getting a "successful" build and then being confused about where
> >> did their drivers go. In comparison, missing openssl results in a build
> >> failure, not a disappearance of everything that depends on it.
> >
> > Yeah, it is quite confusing (though it was done on purpose).
> >
> > Personally, I think it may be time to finally change it.
> 
> I believe the original reason for doing so is that people can use allyesconfig
> and it'll disable all Rust modules if they don't have a working Rust compiler.
> 
> Do you intend to change it so that allyesconfig needs Rust, or is there a
> different mechanism to make allyesconfig ignore Rust modules?

One could argue that since commit 9fa7153c31a3 ("rust: conclude the Rust
experiment") RUST belongs in the allyesconfig.

If that's valid the patch misses to add "depends" on the architectures
which have support Rust support in the kernel.

Janne
Re: [PATCH RFC] Fail the build on RUST=y and RUST_IS_AVAILABLE=n
Posted by Sasha Finkelstein 1 month ago
> On May 10, 2026, at 19:56, Janne Grunau <j@jannau.net> wrote:
> 
> If that's valid the patch misses to add "depends" on the architectures
> which have support Rust support in the kernel.
> 
I believe that HAVE_RUST already covers it.