lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DFZGH4IMZEE8.2NG4D64BPM9N0@garyguo.net>
Date: Tue, 27 Jan 2026 14:53:24 +0000
From: "Gary Guo" <gary@...yguo.net>
To: "Kari Argillander" <kari.argillander@...il.com>, "Miguel Ojeda"
 <ojeda@...nel.org>, "Boqun Feng" <boqun.feng@...il.com>, "Gary Guo"
 <gary@...yguo.net>, Björn Roy Baron
 <bjorn3_gh@...tonmail.com>, "Benno Lossin" <lossin@...nel.org>, "Andreas
 Hindborg" <a.hindborg@...nel.org>, "Alice Ryhl" <aliceryhl@...gle.com>,
 "Trevor Gross" <tmgross@...ch.edu>, "Danilo Krummrich" <dakr@...nel.org>,
 "Alexandre Courbot" <acourbot@...dia.com>
Cc: "Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
 <rust-for-linux@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
 <linux-modules@...r.kernel.org>, "Luis Chamberlain" <mcgrof@...nel.org>,
 "Petr Pavlu" <petr.pavlu@...e.com>, "Daniel Gomez" <da.gomez@...nel.org>,
 "Sami Tolvanen" <samitolvanen@...gle.com>, "Aaron Tomlin"
 <atomlin@...mlin.com>, "Youseok Yang" <ileixe@...il.com>, "Yuheng Su"
 <gipsyh.icu@...il.com>
Subject: Re: [PATCH RFC v3 00/15] rust: Reimplement ThisModule to fix
 ownership problems

On Sat Jan 10, 2026 at 3:07 PM GMT, Kari Argillander wrote:
> Still RFC. Not all people for each subsystems are not included yet as
> this touch quite lot of things. I would like to get feed back is this
> resonable seperation and how we will land this. I have tried my best so
> that it can be applied in multiple staged if needed. I have not receive
> any feedback on this series and that is little bit worrying.
>
> Introduce new ThisModule trait and THIS_MODULE impl.
>
> So currently we have problem that we are not always filling .owner field
> example for file_operations. I think we can enable const_refs_to_static
> already as that is in 1.78 and is stable in 1.83. So that fits perfecly
> for us.  This also seems to be quite request feature but I did not found
> that no one has ever suggested that we just enable this.
>
> So basic idea is that we will have ThisModule trait which is used kernel
> side. Module side we will always use THIS_MODULE. That is completly
> private for modules and kernel crate cannot use it. Currently we have
> THIS_MODULE, LocalModule and

Why is trait needed? Couldn't this just be a `const THIS_MODULE` required for
vtable?

Best,
Gary

>
>   module: &' static ThisModule
>
> on init functions. As we anyway need THIS_MODULE just use that for all
> of these things.
>
> Patches 1-2 introduce THIS_MODULE and ThisModule trait.
> Patches 3-12 can be applied any order after 1-2.
> Patch 13 depends on patches 11-12.
> Patches 14-15 are clean up patches and depends 1-13.
>
>     Argillander
>
> To: Miguel Ojeda <ojeda@...nel.org>
> To: Boqun Feng <boqun.feng@...il.com>
> To: Gary Guo <gary@...yguo.net>
> To: Björn Roy Baron <bjorn3_gh@...tonmail.com>
> To: Benno Lossin <lossin@...nel.org>
> To: Andreas Hindborg <a.hindborg@...nel.org>
> To: Alice Ryhl <aliceryhl@...gle.com>
> To: Trevor Gross <tmgross@...ch.edu>
> To: Danilo Krummrich <dakr@...nel.org>
>
> To: Alexandre Courbot <acourbot@...dia.com>
>
> Cc: Luis Chamberlain <mcgrof@...nel.org>
> Cc: Petr Pavlu <petr.pavlu@...e.com>
> Cc: Daniel Gomez <da.gomez@...nel.org>
> Cc: Sami Tolvanen <samitolvanen@...gle.com>
> Cc: Aaron Tomlin <atomlin@...mlin.com>
>
> Signed-off-by: Kari Argillander <kari.argillander@...il.com>
> ---
> Changes in v3:
> - Edit cover.
> - Seperate module name changes to seperate patches.
> - Rebase top of next 20260109
> - Seperate configfs changes to own commit.
> - Fix one place still used M over TM for ThisModule.
> - Link to v2: https://lore.kernel.org/r/20260106-this_module_fix-v2-0-842ac026f00b@gmail.com
>
> Changes in v2:
> - Patches are now sepereted properly.
> - Removed debugfs changes as that is not so clear to me.
> - Remove module parameter and just used THIS_MODULE everywhere.
> - Made macro to make THIS_MODULE.
> - Doc tests also have THIS_MODULE.
> - Link to v1: https://lore.kernel.org/r/20260101-this_module_fix-v1-0-46ae3e5605a0@gmail.com
>
> ---
> Kari Argillander (15):
>       rust: enable const_refs_to_static feature
>       rust: add new ThisModule trait and THIS_MODULE impl
>       rust: miscdevice: fix use after free because missing .owner
>       rust: block: fix missing owner field in block_device_operations
>       rust: drm: fix missing owner in file_operations
>       rust: configfs: use new THIS_MODULE
>       rust: binder: use new THIS_MODULE
>       rust: firmware: use THIS_MODULE over LocalModule for name
>       gpu: nova-core: use THIS_MODULE over LocalModule for name
>       samples: rust: auxiliary: use THIS_MODULE over LocalModule for name
>       rust: driver: make RegistrationOps::register() to use new ThisModule
>       rust: phy: make Registration::register() use new ThisModule
>       rust: remove module argument from InPlaceModule::init()
>       rust: remove kernel::ModuleMetadata
>       rust: remove old version of ThisModule
>
>  drivers/android/binder/rust_binder_main.rs |   5 +-
>  drivers/block/rnull/configfs.rs            |   2 +-
>  drivers/block/rnull/rnull.rs               |   3 +-
>  drivers/gpu/drm/nova/driver.rs             |   2 +
>  drivers/gpu/drm/tyr/driver.rs              |   2 +
>  drivers/gpu/nova-core/nova_core.rs         |   2 +-
>  lib/find_bit_benchmark_rust.rs             |   3 +-
>  rust/kernel/auxiliary.rs                   |  16 +--
>  rust/kernel/block/mq.rs                    |   1 +
>  rust/kernel/block/mq/gen_disk.rs           |  30 +-----
>  rust/kernel/block/mq/operations.rs         |  30 ++++++
>  rust/kernel/configfs.rs                    |  49 ++++-----
>  rust/kernel/driver.rs                      |  31 +++---
>  rust/kernel/drm/device.rs                  |   2 +-
>  rust/kernel/drm/driver.rs                  |   4 +
>  rust/kernel/drm/gem/mod.rs                 |   5 +-
>  rust/kernel/firmware.rs                    |   4 +-
>  rust/kernel/i2c.rs                         |  11 +-
>  rust/kernel/lib.rs                         | 161 ++++++++++++++++++++++++-----
>  rust/kernel/miscdevice.rs                  |   5 +
>  rust/kernel/net/phy.rs                     |  29 ++++--
>  rust/kernel/pci.rs                         |  15 +--
>  rust/kernel/platform.rs                    |  12 +--
>  rust/kernel/prelude.rs                     |   2 +-
>  rust/kernel/sync/lock/global.rs            |   4 +-
>  rust/kernel/usb.rs                         |  13 +--
>  rust/macros/lib.rs                         |   4 +-
>  rust/macros/module.rs                      |  24 +----
>  samples/rust/rust_configfs.rs              |   2 +-
>  samples/rust/rust_debugfs_scoped.rs        |   2 +-
>  samples/rust/rust_driver_auxiliary.rs      |   8 +-
>  samples/rust/rust_driver_faux.rs           |   2 +-
>  samples/rust/rust_minimal.rs               |   2 +-
>  samples/rust/rust_misc_device.rs           |   3 +-
>  samples/rust/rust_print_main.rs            |   2 +-
>  scripts/rustdoc_test_gen.rs                |   2 +
>  36 files changed, 298 insertions(+), 196 deletions(-)
> ---
> base-commit: f417b7ffcbef7d76b0d8860518f50dae0e7e5eda
> change-id: 20251230-this_module_fix-a390bff24897
>
> Best regards,


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ