[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DG7WO1ZQZXUL.1BBSOAP7U2CHG@kernel.org>
Date: Fri, 06 Feb 2026 14:16:05 +0100
From: "Danilo Krummrich" <dakr@...nel.org>
To: "Greg KH" <gregkh@...uxfoundation.org>
Cc: "Alice Ryhl" <aliceryhl@...gle.com>, <rafael@...nel.org>,
<ojeda@...nel.org>, <boqun.feng@...il.com>, <gary@...yguo.net>,
<bjorn3_gh@...tonmail.com>, <lossin@...nel.org>, <a.hindborg@...nel.org>,
<tmgross@...ch.edu>, <driver-core@...ts.linux.dev>,
<rust-for-linux@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/5] devres: export devres_node_init() and
devres_node_add()
On Fri Feb 6, 2026 at 1:34 PM CET, Greg KH wrote:
> That's fine, because the rust driver core code should also be built into
> the kernel, not as a module, right?
Yes, but the Rust compiler may still choose to put some of the core code into
the module.
Especially with generic types and functions the Rust compiler may move some the
generated code for a certain type instance into the module that instanciates the
type.
For instance, even though rust/kernel/devres.rs is *always* built-in, we get the
following error when devres_node_init() is not exported when the users of this
built-in code are built as module.
ERROR: modpost: "devres_node_init" [drivers/pwm/pwm_th1520.ko] undefined!
ERROR: modpost: "devres_node_init" [drivers/gpu/drm/tyr/tyr.ko] undefined!
ERROR: modpost: "devres_node_init" [drivers/gpu/nova-core/nova_core.ko] undefined!
ERROR: modpost: "devres_node_init" [samples/rust/rust_dma.ko] undefined!
ERROR: modpost: "devres_node_init" [samples/rust/rust_driver_pci.ko] undefined!
ERROR: modpost: "devres_node_init" [samples/rust/rust_driver_auxiliary.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:147: Module.symvers] Error 1
However, sprinkling "raw" EXPORT_SYMBOL_GPL() due to that is not great at all.
Hence, we could do something like in [1] instead. I don't know if there are
other options that may be better though.
[1] https://lore.kernel.org/all/DG7UR3WWZB4V.2MYMJJH1VDHH@kernel.org/
Powered by blists - more mailing lists