rust: retain pointer mut-ness in `container_of!`
authorTamir Duberstein <tamird@gmail.com>
Wed, 9 Apr 2025 14:43:16 +0000 (10:43 -0400)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 28 May 2025 16:54:09 +0000 (18:54 +0200)
commit74d6a606c2b39fd830d2d7a6363bc5688b4e4b56
tree17d0b1b48e8caa5bedb2c47dfa34b3dad628ba40
parenta3b2347343e077e81d3c169f32c9b2cb1364f4cc
rust: retain pointer mut-ness in `container_of!`

Avoid casting the input pointer to `*const _`, allowing the output
pointer to be `*mut` if the input is `*mut`. This allows a number of
`*const` to `*mut` conversions to be removed at the cost of slightly
worse ergonomics when the macro is used with a reference rather than a
pointer; the only example of this was in the macro's own doctest.

Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org>
Link: https://lore.kernel.org/r/20250409-container-of-mutness-v1-1-64f472b94534@gmail.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/lib.rs
rust/kernel/rbtree.rs