[PATCH v8 09/10] rust: macros: remove `THIS_MODULE` static from `module!`

1 view
Skip to first unread message

Alvin Sun

unread,
Jul 13, 2026, 2:48:42 AMJul 13
to Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Luis Chamberlain, Petr Pavlu, Daniel Gomez, Sami Tolvanen, Aaron Tomlin, Greg Kroah-Hartman, Rafael J. Wysocki, David Airlie, Simona Vetter, Daniel Almeida, Arnd Bergmann, Brendan Higgins, David Gow, Rae Moar, Breno Leitao, Jens Axboe, Dave Ertman, Leon Romanovsky, Igor Korotin, FUJITA Tomonori, Bjorn Helgaas, Krzysztof Wilczyński, Arve Hjønnevåg, Todd Kjos, Christian Brauner, Carlos Llamas, rust-fo...@vger.kernel.org, linux-...@vger.kernel.org, drive...@lists.linux.dev, dri-...@lists.freedesktop.org, nova...@lists.linux.dev, linux-k...@vger.kernel.org, kuni...@googlegroups.com, linux...@vger.kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, linu...@vger.kernel.org, Alvin Sun
All users have been migrated to `ModuleMetadata::THIS_MODULE` const or
`this_module::<LocalModule>()` helper. The `static THIS_MODULE`
generated by the `module!` macro is no longer referenced anywhere,
so remove it to avoid having two sources of the same `ThisModule`
pointer.

Assisted-by: opencode:glm-5.2
Reviewed-by: Andreas Hindborg <a.hin...@kernel.org>
Reviewed-by: Gary Guo <ga...@garyguo.net>
Acked-by: Danilo Krummrich <da...@kernel.org>
Signed-off-by: Alvin Sun <alvi...@linux.dev>
---
rust/macros/module.rs | 16 ----------------
1 file changed, 16 deletions(-)

diff --git a/rust/macros/module.rs b/rust/macros/module.rs
index aa9a618d5d19e..23b6a1b456b80 100644
--- a/rust/macros/module.rs
+++ b/rust/macros/module.rs
@@ -497,22 +497,6 @@ pub(crate) fn module(info: ModuleInfo) -> Result<TokenStream> {
/// Used by the printing macros, e.g. [`info!`].
const __LOG_PREFIX: &[u8] = #name_cstr.to_bytes_with_nul();

- // SAFETY: `__this_module` is constructed by the kernel at load time and will not be
- // freed until the module is unloaded.
- #[cfg(MODULE)]
- static THIS_MODULE: ::kernel::ThisModule = unsafe {
- extern "C" {
- static __this_module: ::kernel::types::Opaque<::kernel::bindings::module>;
- };
-
- ::kernel::ThisModule::from_ptr(__this_module.get())
- };
-
- #[cfg(not(MODULE))]
- static THIS_MODULE: ::kernel::ThisModule = unsafe {
- ::kernel::ThisModule::from_ptr(::core::ptr::null_mut())
- };
-
/// The `LocalModule` type is the type of the module created by `module!`,
/// `module_pci_driver!`, `module_platform_driver!`, etc.
type LocalModule = #type_;

--
2.43.0


Alvin Sun

unread,
Jul 22, 2026, 10:11:27 PMJul 22
to Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Luis Chamberlain, Petr Pavlu, Daniel Gomez, Sami Tolvanen, Aaron Tomlin, Greg Kroah-Hartman, Rafael J. Wysocki, David Airlie, Simona Vetter, Daniel Almeida, Arnd Bergmann, Brendan Higgins, David Gow, Rae Moar, Breno Leitao, Jens Axboe, Dave Ertman, Leon Romanovsky, Igor Korotin, FUJITA Tomonori, Bjorn Helgaas, Krzysztof Wilczyński, Arve Hjønnevåg, Todd Kjos, Christian Brauner, Carlos Llamas, rust-fo...@vger.kernel.org, linux-...@vger.kernel.org, drive...@lists.linux.dev, dri-...@lists.freedesktop.org, nova...@lists.linux.dev, linux-k...@vger.kernel.org, kuni...@googlegroups.com, linux...@vger.kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, linu...@vger.kernel.org, Alvin Sun
All users have been migrated to `ModuleMetadata::THIS_MODULE` const or
`this_module::<LocalModule>()` helper. The `static THIS_MODULE`
generated by the `module!` macro is no longer referenced anywhere,
so remove it to avoid having two sources of the same `ThisModule`
pointer.

Assisted-by: opencode:glm-5.2
Reviewed-by: Andreas Hindborg <a.hin...@kernel.org>
Reviewed-by: Gary Guo <ga...@garyguo.net>
Acked-by: Danilo Krummrich <da...@kernel.org>
Reviewed-by: Alice Ryhl <alic...@google.com>

Petr Pavlu

unread,
Aug 3, 2026, 5:01:19 AM (13 days ago) Aug 3
to Alvin Sun, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Luis Chamberlain, Daniel Gomez, Sami Tolvanen, Aaron Tomlin, Greg Kroah-Hartman, Rafael J. Wysocki, David Airlie, Simona Vetter, Daniel Almeida, Arnd Bergmann, Brendan Higgins, David Gow, Rae Moar, Breno Leitao, Jens Axboe, Dave Ertman, Leon Romanovsky, Igor Korotin, FUJITA Tomonori, Bjorn Helgaas, Krzysztof Wilczyński, Arve Hjønnevåg, Todd Kjos, Christian Brauner, Carlos Llamas, rust-fo...@vger.kernel.org, linux-...@vger.kernel.org, drive...@lists.linux.dev, dri-...@lists.freedesktop.org, nova...@lists.linux.dev, linux-k...@vger.kernel.org, kuni...@googlegroups.com, linux...@vger.kernel.org, linux-...@vger.kernel.org, net...@vger.kernel.org, linu...@vger.kernel.org
On 7/23/26 4:10 AM, Alvin Sun wrote:
> All users have been migrated to `ModuleMetadata::THIS_MODULE` const or
> `this_module::<LocalModule>()` helper. The `static THIS_MODULE`
> generated by the `module!` macro is no longer referenced anywhere,
> so remove it to avoid having two sources of the same `ThisModule`
> pointer.
>
> Assisted-by: opencode:glm-5.2
> Reviewed-by: Andreas Hindborg <a.hin...@kernel.org>
> Reviewed-by: Gary Guo <ga...@garyguo.net>
> Acked-by: Danilo Krummrich <da...@kernel.org>
> Reviewed-by: Alice Ryhl <alic...@google.com>
> Signed-off-by: Alvin Sun <alvi...@linux.dev>

Acked-by: Petr Pavlu <petr....@suse.com>
Reply all
Reply to author
Forward
0 new messages