[GIT PULL] Rust pin-init for v7.1

From: Benno Lossin

Date: Tue Mar 31 2026 - 09:21:55 EST


Hi Miguel,

This is a small one, various cleanups and small improvements with no
major changes to users of pin-init.

I summarized the changes in the my sync series [1]:

> This cycle we have no big changes in pin-init. This series is a
> collection of smaller improvements already merged upstream:
>
> - https://github.com/Rust-for-Linux/pin-init/pull/105
> - https://github.com/Rust-for-Linux/pin-init/pull/110
> - https://github.com/Rust-for-Linux/pin-init/pull/101
> - https://github.com/Rust-for-Linux/pin-init/pull/102
> - https://github.com/Rust-for-Linux/pin-init/pull/108
>
> Next cycle might contain bigger changes, mainly support for tuple
> structs. And I'm also thinking of already starting with integrating
> zerocopy.
>
> While testing for the kernel, I noticed the following issue (already
> fixed in the patch in this series):
>
> - https://github.com/Rust-for-Linux/pin-init/pull/123
>
> This cycle we also had some unsoundness fixes that are already in rc4:
>
> - https://github.com/Rust-for-Linux/pin-init/pull/111
> - https://github.com/Rust-for-Linux/pin-init/pull/117
>
> Lastly, there were some upstream-only changes:
>
> - https://github.com/Rust-for-Linux/pin-init/pull/114
> - https://github.com/Rust-for-Linux/pin-init/pull/109

All commits have been in linux-next since Thursday last week.

No conflicts expected.

Please pull for v7.1 -- thanks!

Cheers,
Benno

[1]: https://lore.kernel.org/all/20260319093542.3756606-1-lossin@xxxxxxxxxx

The following changes since commit f338e77383789c0cae23ca3d48adcc5e9e137e3c:

Linux 7.0-rc4 (2026-03-15 13:52:05 -0700)

are available in the Git repository at:

https://github.com/Rust-for-Linux/linux.git tags/pin-init-v7.1

for you to fetch changes up to 09808839c7aa6695ceff5cd822c18b0d9550184d:

rust: pin-init: replace `addr_of_mut!` with `&raw mut` (2026-03-25 10:57:53 +0100)

----------------------------------------------------------------
pin-init changes for v7.1

Changed:

- Replace the 'Zeroable' impls for 'Option<NonZero*>' with impls of
'ZeroableOption' for 'NonZero*'.

- Improve feature gate handling for unstable features.

- Declutter the documentation of implementations of 'Zeroable' for
tuples.

- Replace uses of 'addr_of[_mut]!' with '&raw [mut]'.

----------------------------------------------------------------
Antonio Hickey (1):
rust: pin-init: replace `addr_of_mut!` with `&raw mut`

Benno Lossin (1):
rust: pin-init: properly document let binding workaround

Gary Guo (2):
rust: pin-init: build: simplify use of nightly features
rust: pin-init: doc: de-clutter documentation with fake-variadics

Hamdan-Khan (1):
rust: pin-init: implement ZeroableOption for NonZero* integer types

rust/Makefile | 4 +-
rust/pin-init/README.md | 3 +-
rust/pin-init/examples/big_struct_in_place.rs | 3 ++
rust/pin-init/examples/linked_list.rs | 3 +-
rust/pin-init/examples/mutex.rs | 3 +-
rust/pin-init/examples/pthread_mutex.rs | 3 +-
rust/pin-init/examples/static_init.rs | 3 +-
rust/pin-init/internal/src/init.rs | 14 +++--
rust/pin-init/internal/src/lib.rs | 2 +-
rust/pin-init/src/lib.rs | 73 ++++++++++++++++++---------
10 files changed, 75 insertions(+), 36 deletions(-)