Re: [PATCH v4 0/3] rust: add `UnsafePinned` type
From: Boqun Feng
Date: Mon May 19 2025 - 14:26:18 EST
On Sun, May 11, 2025 at 08:21:37PM +0200, Christian Schrefl wrote:
> This version now only has the kernel implementation without the
> config flag for using the upstream version. Additionally now
> commits for using `UnsafePinned` in `Opaque` were added.
>
> Checkpatch warns about `rust/kernel/types/unsafe_pinned.rs`
> missing a MAINTAINERS entry. This should be fine because it
> will be included in the RUST entry.
>
> This patchset is based on the pin-init-next branch.
>
> Signed-off-by: Christian Schrefl <chrisi.schrefl@xxxxxxxxx>
Reviewed-by: Boqun Feng <boqun.feng@xxxxxxxxx>
Thanks a lot for doing this!
Regards,
Boqun
> ---
> Changes in v4:
> - Reworked `UnsafePinned::add` doctest to not use get_mut_unchecked.
> - Link to v3: https://lore.kernel.org/r/20250510-rust_unsafe_pinned-v3-0-57ce151123f9@xxxxxxxxx
>
> Changes in v3:
> - Dropped CONFIG_RUSTC_HAS_UNSAFE_PINNED and feature(unsafe_pinned) (Alice)
> - Add comment to `Opaque` reasoning about included `UnsafeCell` (Benno)
> - Small changes in commit message of Patch 3 (Benno)
> - Removed docs mentioning not included functions (Benno)
> - Removed docs mentioning implementation details and added that as
> comment instead (Benno)
> - Link to v2: https://lore.kernel.org/r/20250430-rust_unsafe_pinned-v2-0-fc8617a74024@xxxxxxxxx
>
> Changes in v2:
> - Expanded `UnsafePinned` documentation to describe differences
> with upstream rust implementation.
> - Removed config flag for using upstream `UnsafePinned` type.
> - Add patch implementing `Wrapper` for `Opaque`
> - Add patch for using `UnsafePinned` internally in `Opaque`
> - Link to v1: https://lore.kernel.org/r/20250418-rust_unsafe_pinned-v1-1-c4c7558399f8@xxxxxxxxx
>
> ---
> Christian Schrefl (3):
> rust: add UnsafePinned type
> rust: implement `Wrapper<T>` for `Opaque<T>`
> rust: use `UnsafePinned` in the implementation of `Opaque`
>
> rust/kernel/revocable.rs | 2 +
> rust/kernel/types.rs | 45 ++++++++-------
> rust/kernel/types/unsafe_pinned.rs | 111 +++++++++++++++++++++++++++++++++++++
> 3 files changed, 138 insertions(+), 20 deletions(-)
> ---
> base-commit: 9de1a293c8ece00d226b21a35751ec178be2a9fa
> change-id: 20250418-rust_unsafe_pinned-891dce27418d
>
> Best regards,
> --
> Christian Schrefl <chrisi.schrefl@xxxxxxxxx>
>