linux/rust
Danilo Krummrich be31fcf5af rust: driver core: drop drvdata before devres release
Move the post_unbind_rust callback before devres_release_all() in
device_unbind_cleanup().

With drvdata() removed, the driver's bus device private data is only
accessible by the owning driver itself. It is hence safe to drop the
driver's bus device private data before devres actions are released.

This reordering is the key enabler for Higher-Ranked Lifetime Types
(HRT) in Rust device drivers -- it allows driver structs to hold direct
references to devres-managed resources, because the bus device private
data (and with it all such references) is guaranteed to be dropped while
the underlying devres resources are still alive.

Without this change, devres resources would be freed first, leaving the
driver's bus device private data with dangling references during its
destructor.

Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patch.msgid.link/20260525202921.124698-6-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-05-27 16:22:41 +02:00
..
bindings drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
helpers drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
kernel rust: driver core: drop drvdata before devres release 2026-05-27 16:22:41 +02:00
macros rust: macros: simplify code using feature(extract_if) 2026-04-07 10:00:24 +02:00
pin-init rust: pin-init: replace addr_of_mut! with &raw mut 2026-03-25 10:57:53 +01:00
proc-macro2 rust: proc-macro2: rebuild if the version text changes 2026-01-23 10:44:27 +01:00
quote rust: quote: add README.md 2025-11-24 17:15:43 +01:00
syn rust: syn: add README.md 2025-11-24 17:15:47 +01:00
uapi rust: declare cfi_encoding for lru_status 2026-04-07 10:00:25 +02:00
.gitignore
.kunitconfig
bindgen_parameters rust: declare cfi_encoding for lru_status 2026-04-07 10:00:25 +02:00
build_error.rs
compiler_builtins.rs
exports.c kbuild: rust: provide an option to inline C helpers into Rust 2026-03-30 02:03:52 +02:00
ffi.rs rust: replace CStr with core::ffi::CStr 2025-10-22 07:47:27 +02:00
Makefile pin-init changes for v7.1 2026-04-08 10:44:46 +02:00