]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rust: types: add `ARef::into_raw`
authorKartik Prajapati <kartikprajapati987@gmail.com>
Wed, 21 Aug 2024 19:58:58 +0000 (19:58 +0000)
committerMiguel Ojeda <ojeda@kernel.org>
Sun, 25 Aug 2024 12:44:39 +0000 (14:44 +0200)
commit96fff2dc2954dcaf7affe7da212aba3f5107d06d
tree4e95daa677b91cbca0a8a68616d353bf82a32074
parentc73051168e7fc0c78e58791097cbc3a3ec95839e
rust: types: add `ARef::into_raw`

Add a method for `ARef` that is analogous to `Arc::into_raw`. It is the
inverse operation of `ARef::from_raw`, and allows you to convert the
`ARef` back into a raw pointer while retaining ownership of the
refcount.

This new function will be used by [1] for converting the type in an
`ARef` using `ARef::from_raw(ARef::into_raw(me).cast())`. Alice has
also needed the same function for other use-cases in the past, but [1]
is the first to go upstream.

This was implemented independently by Kartik and Alice. The two versions
were merged by Alice, so all mistakes are Alice's.

Link: https://lore.kernel.org/r/20240801-vma-v3-1-db6c1c0afda9@google.com
Link: https://github.com/Rust-for-Linux/linux/issues/1044
Signed-off-by: Kartik Prajapati <kartikprajapati987@gmail.com>
Co-developed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
[ Reworded to correct the author reference and changed tag to Link
  since it is not a bug. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/types.rs