]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: pin-init: internal: init: document load-bearing fact of field accessors
authorBenno Lossin <lossin@kernel.org>
Mon, 2 Mar 2026 14:04:15 +0000 (15:04 +0100)
committerMiguel Ojeda <ojeda@kernel.org>
Fri, 6 Mar 2026 01:05:46 +0000 (02:05 +0100)
commit580cc37b1de4fcd9997c48d7080e744533f09f36
tree46c823e96e09be730789cdf918e46edd1cff9d53
parenta075082a15e7f5c4889d0cbb51a4041c332cb00c
rust: pin-init: internal: init: document load-bearing fact of field accessors

The functions `[Pin]Init::__[pinned_]init` and `ptr::write` called from
the `init!` macro require the passed pointer to be aligned. This fact is
ensured by the creation of field accessors to previously initialized
fields.

Since we missed this very important fact from the beginning [1],
document it in the code.

Link: https://rust-for-linux.zulipchat.com/#narrow/channel/561532-pin-init/topic/initialized.20field.20accessor.20detection/with/576210658
Fixes: 90e53c5e70a6 ("rust: add pin-init API core")
Cc: <stable@vger.kernel.org> # 6.6.y, 6.12.y: 42415d163e5d: rust: pin-init: add references to previously initialized fields
Cc: <stable@vger.kernel.org> # 6.6.y, 6.12.y, 6.18.y, 6.19.y
Signed-off-by: Benno Lossin <lossin@kernel.org>
Reviewed-by: Gary Guo <gary@garyguo.net>
Link: https://patch.msgid.link/20260302140424.4097655-2-lossin@kernel.org
[ Updated Cc: stable@ tags as discussed. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/pin-init/internal/src/init.rs