2024-03-08 09:37:15

by Alice Ryhl

[permalink] [raw]
Subject: [PATCH] rust: don't select CONSTRUCTORS

This was originally part of commit 4b9a68f2e59a0 ("rust: add support for
static synchronisation primitives") from the old Rust branch, which used
module constructors to initialize globals containing various
synchronisation primitives with pin-init. That commit has never been
upstreamed, but the `select CONSTRUCTORS` statement ended up being
included in the patch that initially added Rust support to the Linux
Kernel.

We are not using module constructors, so let's remove the select.

Signed-off-by: Alice Ryhl <[email protected]>
---
init/Kconfig | 1 -
1 file changed, 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index 8426d59cc634..41f7fb195382 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1903,21 +1903,20 @@ config RUST
config RUST
bool "Rust support"
depends on HAVE_RUST
depends on RUST_IS_AVAILABLE
depends on !MODVERSIONS
depends on !GCC_PLUGINS
depends on !RANDSTRUCT
depends on !DEBUG_INFO_BTF || PAHOLE_HAS_LANG_EXCLUDE
- select CONSTRUCTORS
help
Enables Rust support in the kernel.

This allows other Rust-related options, like drivers written in Rust,
to be selected.

It is also required to be able to load external kernel modules
written in Rust.

See Documentation/rust/ for more information.

If unsure, say N.

---
base-commit: 90d35da658da8cff0d4ecbb5113f5fac9d00eb72
change-id: 20240307-constructors-07270b039e2c

Best regards,
--
Alice Ryhl <[email protected]>



2024-03-08 11:39:30

by Benno Lossin

[permalink] [raw]
Subject: Re: [PATCH] rust: don't select CONSTRUCTORS

On 3/8/24 10:36, Alice Ryhl wrote:
> This was originally part of commit 4b9a68f2e59a0 ("rust: add support for
> static synchronisation primitives") from the old Rust branch, which used
> module constructors to initialize globals containing various
> synchronisation primitives with pin-init. That commit has never been
> upstreamed, but the `select CONSTRUCTORS` statement ended up being
> included in the patch that initially added Rust support to the Linux
> Kernel.
>
> We are not using module constructors, so let's remove the select.
>
> Signed-off-by: Alice Ryhl <[email protected]>

Reviewed-by: Benno Lossin <[email protected]>


2024-03-31 19:51:36

by Miguel Ojeda

[permalink] [raw]
Subject: Re: [PATCH] rust: don't select CONSTRUCTORS

On Fri, Mar 8, 2024 at 10:37 AM Alice Ryhl <[email protected]> wrote:
>
> This was originally part of commit 4b9a68f2e59a0 ("rust: add support for
> static synchronisation primitives") from the old Rust branch, which used
> module constructors to initialize globals containing various
> synchronisation primitives with pin-init. That commit has never been
> upstreamed, but the `select CONSTRUCTORS` statement ended up being
> included in the patch that initially added Rust support to the Linux
> Kernel.
>
> We are not using module constructors, so let's remove the select.
>
> Signed-off-by: Alice Ryhl <[email protected]>

Applied to `rust-fixes` and marked for stable too -- thanks everyone!

Cheers,
Miguel