]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
rust: delete `ForeignOwnable::borrow_mut`
authorAlice Ryhl <aliceryhl@google.com>
Thu, 6 Jul 2023 09:46:15 +0000 (09:46 +0000)
committerMiguel Ojeda <ojeda@kernel.org>
Fri, 4 Aug 2023 15:10:50 +0000 (17:10 +0200)
commit1d24eb2d536ba27ef938a6563ac8bfb49c738cc1
tree9c21eb588dab663965502755879da2c8e086bf32
parentb3d8aa84bbfe9b58ccc5332cacf8ea17200af310
rust: delete `ForeignOwnable::borrow_mut`

We discovered that the current design of `borrow_mut` is problematic.
This patch removes it until a better solution can be found.

Specifically, the current design gives you access to a `&mut T`, which
lets you change where the `ForeignOwnable` points (e.g., with
`core::mem::swap`). No upcoming user of this API intended to make that
possible, making all of them unsound.

Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Fixes: 0fc4424d24a2 ("rust: types: introduce `ForeignOwnable`")
Link: https://lore.kernel.org/r/20230706094615.3080784-1-aliceryhl@google.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/sync/arc.rs
rust/kernel/types.rs