You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The "Zeroable improvements & bindings integration" patch series introduced the ability to call pin_init::zeroed() for values implementing the Zeroable trait instead of having to call the unsafe fn zeroed from core::mem. From that series, only patches 1, 2 and 11 have been merged, since the others should go through the respective maintainers. I don't have enough time to see all patches through, so as a good first issue, you can re-send my patch to the list (please read the patch submission process on how to do this).
Here are the current patches & their files that still need sending:
If you see another usage that could make use of this pattern, feel free to send an unrelated patch!
This requires submitting a proper patch to the LKML and the Rust for Linux mailing list. Please recall to test your changes (including generating the documentation if changed, running the Rust doctests if changed, etc.), to use a proper title for the commit, to sign your commit under the Developer's Certificate of Origin and to add a Suggested-by: tag, and a Link: tag to this issue. Please see https://docs.kernel.org/process/submitting-patches.html and https://rust-for-linux.com/contributing for details.
Status as of today's rust-next: of the files listed above, only rust/kernel/security.rs and rust/kernel/of.rs still contain the core::mem::zeroed() pattern — the others are already converted.
Activity
rust: acpi: replace `core::mem::zeroed` with `pin_init::zeroed`
rust: phy: replace `MaybeUninit::zeroed().assume_init()` with `pin_in…
rust: acpi: replace `core::mem::zeroed` with `pin_init::zeroed`
mooori commentedon Oct 30, 2025
Patch sent for
rust/kernel/of.rs: lorerust: of: replace `core::mem::zeroed` with `pin_init::zeroed`
rust: miscdevice: use `pin_init::zeroed()` for C type initialization
ojeda commentedon Nov 28, 2025
Miscdevice: https://lore.kernel.org/rust-for-linux/20251128162337.12082-1-atharvd440@gmail.com/
rust: miscdevice: use `pin_init::zeroed()` for C type initialization
rust: security: use `pin_init::zeroed()` for LSM context initialization
DoobyDoPap commentedon Nov 29, 2025
drm/gem : https://lore.kernel.org/all/20251129134834.34559-1-atharvd440@gmail.com/
security : https://lore.kernel.org/all/20251129135657.36144-1-atharvd440@gmail.com/
auxillary: https://lore.kernel.org/all/20251129124706.26263-1-atharvd440@gmail.com/
acpi: https://lore.kernel.org/all/20251129122753.23022-1-atharvd440@gmail.com/
rust: acpi: replace manual zero-initialization with `pin_init::zeroed()`
rust: miscdevice: use `pin_init::zeroed()` for C type initialization
2 remaining items
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: block: use pin_init::zeroed
rust: iommu: replace core::mem::zeroed with Zeroable::zeroed
rust: iommu: replace core::mem::zeroed with Zeroable::zeroed
usb: rust: Use pin_init::zeroed for usb_device_id initialization
rust_binder: use pin_init::zeroed for file_operations initialization
rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed`
iderex commentedon Aug 28, 2026
I re-sent the
security.rspatch keeping Benno's authorship (with my S-o-b added, and the LSM list Cc'd as Paul asked on the original thread): https://lore.kernel.org/rust-for-linux/20260828024335.946-1-nils.lehnen@proton.me/Status as of today's rust-next: of the files listed above, only
rust/kernel/security.rsandrust/kernel/of.rsstill contain thecore::mem::zeroed()pattern — the others are already converted.rust: lsm: replace `core::mem::zeroed` with `pin_init::zeroed`