[PATCH 00/10] rust: pin-init upstream sync for v7.2 (round 1)
From: Gary Guo
Date: Tue Apr 28 2026 - 09:22:11 EST
This series collects all upstream developments of pin-init to date and
synchronize them to the kernel tree.
Last cycle Benno sent a single sync late in the development cycle, but I
expect a lot of developments this cycle so I'll probably be sending
multiple of them; for bigger changes they'll be sent as their own series
instead of part of a round of sync.
A major change in this cycle is the bump of MSRV to 1.82 to get rid of
unstable features, following the kernel version bump in 7.1. The MSRV is
bumped straight to 1.85 as pin-init can also be used outside kernel, so we
avoid bumping unless there is a need for new version.
Here are the list of merged changes included in the series:
- examples: mark as `#[inline]` all `From::from()`s for `Error`
https://github.com/Rust-for-Linux/pin-init/pull/126
- bump minimum Rust version to 1.82
https://github.com/Rust-for-Linux/pin-init/pull/129
- cleanup `Zeroable` and `ZeroableOptions`
https://github.com/Rust-for-Linux/pin-init/pull/118
- internal: add missing where clause to projection types
https://github.com/Rust-for-Linux/pin-init/pull/121
- internal: internal: remove redundant `#[pin]` filtering
https://github.com/Rust-for-Linux/pin-init/pull/131
- add mailmap and relicense `internal/zeroable.rs` & `.clippy.toml`
https://github.com/Rust-for-Linux/pin-init/pull/137
Here are the list of changes that I intend to merge soon to upstream
pin-init, which I also included in the series:
- cleanup workaround for old Rust compiler
https://github.com/Rust-for-Linux/pin-init/pull/141
- internal: turn `PhantomPinned` error into warnings
https://github.com/Rust-for-Linux/pin-init/pull/135
For information, here are the list of upstream-only changes, which are
related to Cargo or tests/CI changes only.
- build.rs: use `option_env!` to register env variable dependency
https://github.com/Rust-for-Linux/pin-init/pull/128
- clean up dependencies
https://github.com/Rust-for-Linux/pin-init/pull/130
- tests: add test for check correct macro hygiene
https://github.com/Rust-for-Linux/pin-init/pull/133
- ci: use tagged release of actions
https://github.com/Rust-for-Linux/pin-init/pull/134
- ci: have a single job to gate all required jobs
https://github.com/Rust-for-Linux/pin-init/pull/138
- ci: various cleanups
https://github.com/Rust-for-Linux/pin-init/pull/139
Best,
Gary
---
Alistair Francis (1):
rust: pin-init: examples: mark as `#[inline]` all `From::from()`s for `Error`
Benno Lossin (1):
rust: pin-init: internal: adjust license identifier of `zeroable.rs`
Gary Guo (5):
rust: pin-init: bump minimum Rust version to 1.82
rust: pin-init: internal: remove redundant `#[pin]` filtering
rust: pin-init: fix badge URL in README
rust: pin-init: cleanup workaround for old Rust compiler
rust: pin-init: internal: turn `PhantomPinned` error into warnings
Mohamad Alsadhan (3):
rust: pin-init: cleanup `Zeroable` and `ZeroableOptions`
rust: pin-init: extend `impl_zeroable_option` macro to handle generics
rust: pin-init: internal: add missing where clause to projection types
rust/pin-init/README.md | 2 +-
rust/pin-init/examples/big_struct_in_place.rs | 3 -
rust/pin-init/examples/error.rs | 2 +
rust/pin-init/examples/linked_list.rs | 2 -
rust/pin-init/examples/mutex.rs | 2 -
rust/pin-init/examples/pthread_mutex.rs | 2 -
rust/pin-init/examples/static_init.rs | 2 -
rust/pin-init/internal/src/diagnostics.rs | 14 +++++
rust/pin-init/internal/src/init.rs | 9 +--
rust/pin-init/internal/src/lib.rs | 1 -
rust/pin-init/internal/src/pin_data.rs | 10 ++--
rust/pin-init/internal/src/zeroable.rs | 2 +-
rust/pin-init/src/lib.rs | 79 ++++++++++-----------------
13 files changed, 52 insertions(+), 78 deletions(-)
---
base-commit: 1c7cc4904160c6fc6377564140062d68a3dc93a0
change-id: 20260414-pin-init-sync-ae407945a726
Best regards,
--
Gary Guo <gary@xxxxxxxxxxx>