* [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` @ 2026-06-03 16:09 ` Francis Laniel 2026-07-27 11:15 ` Michal Wilczynski 2026-08-11 5:04 ` Uwe Kleine-König 0 siblings, 2 replies; 9+ messages in thread From: Francis Laniel @ 2026-06-03 16:09 UTC (permalink / raw) To: Michal Wilczynski, Miguel Ojeda, Uwe Kleine-König, Benno Lossin, Gary Guo Cc: Francis Laniel, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel All types in `bindings` implement `Zeroable` if they can, so use `pin_init::zeroed` instead of relying on `unsafe` code. If this ends up not compiling in the future, something in bindgen or on the C side changed and is most likely incorrect. Suggested-by: Benno Lossin <lossin@kernel.org> Link: https://github.com/Rust-for-Linux/linux/issues/1189 Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Acked-by: Michal Wilczynski <m.wilczynski@samsung.com> Signed-off-by: Francis Laniel <laniel_francis@privacyrequired.com> --- rust/kernel/pwm.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rust/kernel/pwm.rs b/rust/kernel/pwm.rs index 6c9d667009ef..3427b7d93a03 100644 --- a/rust/kernel/pwm.rs +++ b/rust/kernel/pwm.rs @@ -494,9 +494,7 @@ pub(crate) fn as_raw(&self) -> *const bindings::pwm_ops { /// This is used to bridge Rust trait implementations to the C `struct pwm_ops` /// expected by the kernel. pub const fn create_pwm_ops<T: PwmOps>() -> PwmOpsVTable { - // SAFETY: `core::mem::zeroed()` is unsafe. For `pwm_ops`, all fields are - // `Option<extern "C" fn(...)>` or data, so a zeroed pattern (None/0) is valid initially. - let mut ops: bindings::pwm_ops = unsafe { core::mem::zeroed() }; + let mut ops: bindings::pwm_ops = pin_init::zeroed(); ops.request = Some(Adapter::<T>::request_callback); ops.capture = Some(Adapter::<T>::capture_callback); -- 2.47.3 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-06-03 16:09 ` [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` Francis Laniel @ 2026-07-27 11:15 ` Michal Wilczynski 2026-08-11 5:04 ` Uwe Kleine-König 1 sibling, 0 replies; 9+ messages in thread From: Michal Wilczynski @ 2026-07-27 11:15 UTC (permalink / raw) To: Francis Laniel, Miguel Ojeda, Uwe Kleine-König, Benno Lossin, Gary Guo Cc: Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel Hi Uwe, On 6/3/26 18:09, Francis Laniel wrote: > All types in `bindings` implement `Zeroable` if they can, so use > `pin_init::zeroed` instead of relying on `unsafe` code. > > If this ends up not compiling in the future, something in bindgen or on > the C side changed and is most likely incorrect. > > Suggested-by: Benno Lossin <lossin@kernel.org> > Link: https://protect2.fireeye.com/v1/url?k=851847ef-eca32f5d-8519cca0-905a08a8515a-5adce8ef7cc40eb1&q=1&e=6c6d6a32-0f0e-4805-8882-718eae7641a8&u=https%3A%2F%2Fgithub.com%2FRust-for-Linux%2Flinux%2Fissues%2F1189 > Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> > Acked-by: Michal Wilczynski <m.wilczynski@samsung.com> > Signed-off-by: Francis Laniel <laniel_francis@privacyrequired.com> > --- > rust/kernel/pwm.rs | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/rust/kernel/pwm.rs b/rust/kernel/pwm.rs > index 6c9d667009ef..3427b7d93a03 100644 > --- a/rust/kernel/pwm.rs > +++ b/rust/kernel/pwm.rs > @@ -494,9 +494,7 @@ pub(crate) fn as_raw(&self) -> *const bindings::pwm_ops { > /// This is used to bridge Rust trait implementations to the C `struct pwm_ops` > /// expected by the kernel. > pub const fn create_pwm_ops<T: PwmOps>() -> PwmOpsVTable { > - // SAFETY: `core::mem::zeroed()` is unsafe. For `pwm_ops`, all fields are > - // `Option<extern "C" fn(...)>` or data, so a zeroed pattern (None/0) is valid initially. > - let mut ops: bindings::pwm_ops = unsafe { core::mem::zeroed() }; > + let mut ops: bindings::pwm_ops = pin_init::zeroed(); > > ops.request = Some(Adapter::<T>::request_callback); > ops.capture = Some(Adapter::<T>::capture_callback); I believe this commit is good to go, if you could take it through your tree it would be great. Best regards, -- Michal Wilczynski <m.wilczynski@samsung.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-06-03 16:09 ` [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` Francis Laniel 2026-07-27 11:15 ` Michal Wilczynski @ 2026-08-11 5:04 ` Uwe Kleine-König 2026-08-11 20:54 ` Konstantin Ryabitsev 1 sibling, 1 reply; 9+ messages in thread From: Uwe Kleine-König @ 2026-08-11 5:04 UTC (permalink / raw) To: Francis Laniel Cc: Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools [-- Attachment #1: Type: text/plain, Size: 2963 bytes --] Hello, On Wed, Jun 03, 2026 at 07:09:09PM +0300, Francis Laniel wrote: > All types in `bindings` implement `Zeroable` if they can, so use > `pin_init::zeroed` instead of relying on `unsafe` code. > > If this ends up not compiling in the future, something in bindgen or on > the C side changed and is most likely incorrect. > > Suggested-by: Benno Lossin <lossin@kernel.org> > Link: https://github.com/Rust-for-Linux/linux/issues/1189 > Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> > Acked-by: Michal Wilczynski <m.wilczynski@samsung.com> > Signed-off-by: Francis Laniel <laniel_francis@privacyrequired.com> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux.git pwm/for-next for the 7.3 merge window. b4 behaved strange on that patch: $ b4 am -s -l -t -3 20260603160910.159307-1-laniel_francis@privacyrequired.com Grabbing thread from lore.kernel.org/all/20260603160910.159307-1-laniel_francis@privacyrequired.com/t.mbox.gz Analyzing 2 messages in the thread Looking for additional code-review trailers on lore.kernel.org Analyzing 23 code-review messages Checking attestation on all messages, may take a moment... --- ✓ [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` + Link: https://patch.msgid.link/20260603160910.159307-1-laniel_francis@privacyrequired.com + Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org> --- ✓ Signed: DKIM/privacyrequired.com --- Total patches: 1 --- NOTE: some trailers ignored due to from/email mismatches: ! Trailer: Suggested-by: Benno Lossin <lossin@kernel.org> Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> ! Trailer: Acked-by: Michal Wilczynski <m.wilczynski@samsung.com> Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> ! Trailer: Signed-off-by: Francis Laniel <laniel_francis@privacyrequired.com> Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> ! Trailer: Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> NOTE: Rerun with -S to apply them anyway Preparing fake-am for v3: rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` range: 2707b9df955d..81c3f2b030a1 Preared a fake commit range for 3-way merge (2707b9df955d..81c3f2b030a1) --- Link: https://patch.msgid.link/20260603160910.159307-1-laniel_francis@privacyrequired.com Base: applies clean to current tree git checkout -b v3_20260603_laniel_francis_privacyrequired_com HEAD git am -3 ./v3_20260603_laniel_francis_rust_pwm_replace_core_mem_zeroed_with_pin_init_zeroed.mbx I didn't research what went wrong there and the trailer made it into the patch anyhow and adding -S doesn't change the patch. I added the tools@k.o mailing list to Cc:, maybe someone there wants to debug that. Best regards and thanks for your contribution, Uwe [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-08-11 5:04 ` Uwe Kleine-König @ 2026-08-11 20:54 ` Konstantin Ryabitsev 2026-08-11 21:00 ` Miguel Ojeda 2026-08-11 22:56 ` Uwe Kleine-König 0 siblings, 2 replies; 9+ messages in thread From: Konstantin Ryabitsev @ 2026-08-11 20:54 UTC (permalink / raw) To: Uwe Kleine-König Cc: Francis Laniel, Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools On Tue, Aug 11, 2026 at 07:04:49AM +0200, Uwe Kleine-König wrote: > Applied to > > https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux.git pwm/for-next > > for the 7.3 merge window. > > b4 behaved strange on that patch: > > $ b4 am -s -l -t -3 20260603160910.159307-1-laniel_francis@privacyrequired.com > Grabbing thread from lore.kernel.org/all/20260603160910.159307-1-laniel_francis@privacyrequired.com/t.mbox.gz > Analyzing 2 messages in the thread > Looking for additional code-review trailers on lore.kernel.org > Analyzing 23 code-review messages > Checking attestation on all messages, may take a moment... > --- > ✓ [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` > + Link: https://patch.msgid.link/20260603160910.159307-1-laniel_francis@privacyrequired.com > + Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org> > --- > ✓ Signed: DKIM/privacyrequired.com > --- > Total patches: 1 > --- > NOTE: some trailers ignored due to from/email mismatches: > ! Trailer: Suggested-by: Benno Lossin <lossin@kernel.org> > Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > ! Trailer: Acked-by: Michal Wilczynski <m.wilczynski@samsung.com> > Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > ! Trailer: Signed-off-by: Francis Laniel <laniel_francis@privacyrequired.com> > Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > ! Trailer: Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> > Msg From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > NOTE: Rerun with -S to apply them anyway > Preparing fake-am for v3: rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` > range: 2707b9df955d..81c3f2b030a1 > Preared a fake commit range for 3-way merge (2707b9df955d..81c3f2b030a1) > --- > Link: https://patch.msgid.link/20260603160910.159307-1-laniel_francis@privacyrequired.com > Base: applies clean to current tree > git checkout -b v3_20260603_laniel_francis_privacyrequired_com HEAD > git am -3 ./v3_20260603_laniel_francis_rust_pwm_replace_core_mem_zeroed_with_pin_init_zeroed.mbx > > I didn't research what went wrong there and the trailer made it into the > patch anyhow and adding -S doesn't change the patch. I added the > tools@k.o mailing list to Cc:, maybe someone there wants to debug that. It was just Miguel responding with a suggestion how to better reorder trailers. Since we can't tell this case from the case when someone actually replies with a follow-up trailer, hence the error. I added a special case where we ignore trailers we find in the follow-up if these trailers already exist in the patch anyway, so, at least for this particular case, the problem shouldn't resurface. -K ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-08-11 20:54 ` Konstantin Ryabitsev @ 2026-08-11 21:00 ` Miguel Ojeda 2026-08-11 21:17 ` Konstantin Ryabitsev 2026-08-11 22:56 ` Uwe Kleine-König 1 sibling, 1 reply; 9+ messages in thread From: Miguel Ojeda @ 2026-08-11 21:00 UTC (permalink / raw) To: Konstantin Ryabitsev Cc: Uwe Kleine-König, Francis Laniel, Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools On Tue, Aug 11, 2026 at 10:54 PM Konstantin Ryabitsev <mricon@kernel.org> wrote: > > It was just Miguel responding with a suggestion how to better reorder > trailers. Since we can't tell this case from the case when someone actually > replies with a follow-up trailer, hence the error. > > I added a special case where we ignore trailers we find in the follow-up if > these trailers already exist in the patch anyway, so, at least for this > particular case, the problem shouldn't resurface. Hmm... I usually indent with 2 or 4 spaces my "non-tags" to distinguish them from actual tags; perhaps I should mark them differently? Is there a "standard" prefix to ignore them instead of several spaces? Thanks! Cheers, Miguel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-08-11 21:00 ` Miguel Ojeda @ 2026-08-11 21:17 ` Konstantin Ryabitsev 2026-08-11 22:13 ` Miguel Ojeda 0 siblings, 1 reply; 9+ messages in thread From: Konstantin Ryabitsev @ 2026-08-11 21:17 UTC (permalink / raw) To: Miguel Ojeda Cc: Uwe Kleine-König, Francis Laniel, Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools On Tue, Aug 11, 2026 at 11:00:54PM +0200, Miguel Ojeda wrote: > > I added a special case where we ignore trailers we find in the follow-up if > > these trailers already exist in the patch anyway, so, at least for this > > particular case, the problem shouldn't resurface. > > Hmm... I usually indent with 2 or 4 spaces my "non-tags" to > distinguish them from actual tags; perhaps I should mark them > differently? Is there a "standard" prefix to ignore them instead of > several spaces? Unfortunately, some prominent maintainers indent their code review trailers, which is why we have to pay attention to those. I generally recommend using "|" when adding trailers that aren't part of actual code review, e.g.: | Fixes: abcde12345 ("Foo bar baz") | Reviewed-by: Alex Dev <adev@example.com> These are guaranteed to be ignored. -K ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-08-11 21:17 ` Konstantin Ryabitsev @ 2026-08-11 22:13 ` Miguel Ojeda 0 siblings, 0 replies; 9+ messages in thread From: Miguel Ojeda @ 2026-08-11 22:13 UTC (permalink / raw) To: Konstantin Ryabitsev Cc: Uwe Kleine-König, Francis Laniel, Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools On Tue, Aug 11, 2026 at 11:17 PM Konstantin Ryabitsev <mricon@kernel.org> wrote: > > Unfortunately, some prominent maintainers indent their code review trailers, > which is why we have to pay attention to those. > > I generally recommend using "|" when adding trailers that aren't part of > actual code review, e.g.: > > | Fixes: abcde12345 ("Foo bar baz") > | Reviewed-by: Alex Dev <adev@example.com> > > These are guaranteed to be ignored. Sounds good, thanks! I will try to adapt :) Cheers, Miguel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-08-11 20:54 ` Konstantin Ryabitsev 2026-08-11 21:00 ` Miguel Ojeda @ 2026-08-11 22:56 ` Uwe Kleine-König 2026-08-11 23:01 ` Konstantin Ryabitsev 1 sibling, 1 reply; 9+ messages in thread From: Uwe Kleine-König @ 2026-08-11 22:56 UTC (permalink / raw) To: Konstantin Ryabitsev Cc: Francis Laniel, Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools [-- Attachment #1: Type: text/plain, Size: 832 bytes --] Hello Konstantin, On Tue, Aug 11, 2026 at 04:54:47PM -0400, Konstantin Ryabitsev wrote: > On Tue, Aug 11, 2026 at 07:04:49AM +0200, Uwe Kleine-König wrote: > > I didn't research what went wrong there and the trailer made it into the > > patch anyhow and adding -S doesn't change the patch. I added the > > tools@k.o mailing list to Cc:, maybe someone there wants to debug that. > > It was just Miguel responding with a suggestion how to better reorder > trailers. Since we can't tell this case from the case when someone actually > replies with a follow-up trailer, hence the error. The strange thing from my POV is that before your mail Miguel didn't participate in that thread according to https://patch.msgid.link/20260603160910.159307-1-laniel_francis@privacyrequired.com . I'm confused. Best regards Uwe [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` 2026-08-11 22:56 ` Uwe Kleine-König @ 2026-08-11 23:01 ` Konstantin Ryabitsev 0 siblings, 0 replies; 9+ messages in thread From: Konstantin Ryabitsev @ 2026-08-11 23:01 UTC (permalink / raw) To: Uwe Kleine-König Cc: Francis Laniel, Michal Wilczynski, Miguel Ojeda, Benno Lossin, Gary Guo, Alexandre Courbot, Boqun Feng, Björn Roy Baron, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, linux-pwm, rust-for-linux, linux-kernel, tools On Wed, Aug 12, 2026 at 12:56:05AM +0200, Uwe Kleine-König wrote: > On Tue, Aug 11, 2026 at 04:54:47PM -0400, Konstantin Ryabitsev wrote: > > On Tue, Aug 11, 2026 at 07:04:49AM +0200, Uwe Kleine-König wrote: > > > I didn't research what went wrong there and the trailer made it into the > > > patch anyhow and adding -S doesn't change the patch. I added the > > > tools@k.o mailing list to Cc:, maybe someone there wants to debug that. > > > > It was just Miguel responding with a suggestion how to better reorder > > trailers. Since we can't tell this case from the case when someone actually > > replies with a follow-up trailer, hence the error. > > The strange thing from my POV is that before your mail Miguel didn't > participate in that thread according to > https://patch.msgid.link/20260603160910.159307-1-laniel_francis@privacyrequired.com . > I'm confused. It came from v2 of the series and was carried over because the patch-id hasn't changed (meaning it's the same patch, so any code review trailers still apply). https://lore.kernel.org/all/CANiq72n+tyDcabpwZOR1gHb4mycbpTQbzr0QNgi9c48cSnrZ8w@mail.gmail.com/ -K ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-08-11 23:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20260603160927eucas1p1ae24e871a8ef0771d72fae6462d96318@eucas1p1.samsung.com>
2026-06-03 16:09 ` [PATCH v3] rust: pwm: replace `core::mem::zeroed` with `pin_init::zeroed` Francis Laniel
2026-07-27 11:15 ` Michal Wilczynski
2026-08-11 5:04 ` Uwe Kleine-König
2026-08-11 20:54 ` Konstantin Ryabitsev
2026-08-11 21:00 ` Miguel Ojeda
2026-08-11 21:17 ` Konstantin Ryabitsev
2026-08-11 22:13 ` Miguel Ojeda
2026-08-11 22:56 ` Uwe Kleine-König
2026-08-11 23:01 ` Konstantin Ryabitsev
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox