public inbox for linux-next@vger.kernel.org
 help / color / mirror / Atom feed
From: Andreas Hindborg <a.hindborg@kernel.org>
To: "Benno Lossin" <lossin@kernel.org>
Cc: "Stephen Rothwell" <sfr@canb.auug.org.au>,
	 "Miguel Ojeda" <ojeda@kernel.org>,
	 "Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	 "Linux Next Mailing List" <linux-next@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the rust-pin-init tree
Date: Tue, 10 Jun 2025 11:32:04 +0200	[thread overview]
Message-ID: <87msag2b8r.fsf@kernel.org> (raw)
In-Reply-To: <DAIPCCIHRLHW.1TDNY93G6UZM0@kernel.org> (Benno Lossin's message of "Tue, 10 Jun 2025 10:15:08 +0200")

"Benno Lossin" <lossin@kernel.org> writes:

> On Tue Jun 10, 2025 at 9:59 AM CEST, Benno Lossin wrote:
>> On Tue Jun 10, 2025 at 6:22 AM CEST, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> After merging the rust-pin-init tree, today's linux-next build (x86_64
>>> allmodconfig) failed like this:
>>>
>>> error[E0282]: type annotations needed
>>>    --> rust/kernel/configfs.rs:154:26
>>>     |
>>> 154 |             subsystem <- pin_init::zeroed().chain(
>>>     |                          ^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `T` declared on the function `zeroed`
>>>     |
>>> help: consider specifying the generic argument
>>>     |
>>> 154 |             subsystem <- pin_init::zeroed::<T>().chain(
>>>     |                                          +++++
>>>
>>> error[E0282]: type annotations needed
>>>    --> rust/kernel/configfs.rs:264:22
>>>     |
>>> 264 |             group <- pin_init::zeroed().chain(|v: &mut Opaque<bindings::config_group>| {
>>>     |                      ^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `T` declared on the function `zeroed`
>>>     |
>>> help: consider specifying the generic argument
>>>     |
>>> 264 |             group <- pin_init::zeroed::<T>().chain(|v: &mut Opaque<bindings::config_group>| {
>>>     |                                      +++++
>>>
>>> error: aborting due to 2 previous errors
>>>
>>> For more information about this error, try `rustc --explain E0282`.
>>>
>>> Caused by commit
>>>
>>>   0bcaea04244b ("rust: pin-init: rename `zeroed` to `init_zeroed`")
>>>
>>> I have used the rust-pin-init tree from next-20250606 for today.
>>
>> Thanks for catching this! I didn't test with `CONFIG_CONFIGFS=y`, so the
>> code was cfg'd out... I'll add it to my tests.
>>
>> @Andreas I'll send a new version of the commit above with configfs
>> changed.
>
> (sorry forgot to add your emails and also some new info)
>
> Actually, the correct change would be this in commit 0bcaea04244b
> ("rust: pin-init: rename `zeroed` to `init_zeroed`"):
>
> diff --git a/rust/kernel/configfs.rs b/rust/kernel/configfs.rs
> index 34d0bea4f9a5..6d566a8bde74 100644
> --- a/rust/kernel/configfs.rs
> +++ b/rust/kernel/configfs.rs
> @@ -151,7 +151,7 @@ pub fn new(
>          data: impl PinInit<Data, Error>,
>      ) -> impl PinInit<Self, Error> {
>          try_pin_init!(Self {
> -            subsystem <- pin_init::zeroed().chain(
> +            subsystem <- pin_init::init_zeroed().chain(
>                  |place: &mut Opaque<bindings::configfs_subsystem>| {
>                      // SAFETY: We initialized the required fields of `place.group` above.
>                      unsafe {
> @@ -261,7 +261,7 @@ pub fn new(
>          data: impl PinInit<Data, Error>,
>      ) -> impl PinInit<Self, Error> {
>          try_pin_init!(Self {
> -            group <- pin_init::zeroed().chain(|v: &mut Opaque<bindings::config_group>| {
> +            group <- pin_init::init_zeroed().chain(|v: &mut Opaque<bindings::config_group>| {
>                  let place = v.get();
>                  let name = name.as_bytes_with_nul().as_ptr();
>                  // SAFETY: It is safe to initialize a group once it has been zeroed.
>
> @Miguel, @Andreas, how should I go about this? Send the commit above
> augmented with the diff, or send a patch with just the diff to the list?
> Or apply the diff directly to the commit in the pin-init-next branch &
> rebasing (potentially adding an Acked-by from Andreas)? Or some other
> way?

I think you should add this change directly in your tree. I think you
should just fold it into the breaking commit so we avoid commits that do
not build.

Acked-by: Andreas Hindborg <a.hindborg@kernel.org>


Best regards,
Andreas Hindborg




  reply	other threads:[~2025-06-10  9:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-10  4:22 linux-next: build failure after merge of the rust-pin-init tree Stephen Rothwell
2025-06-10  7:59 ` Benno Lossin
2025-06-10  8:15   ` Benno Lossin
2025-06-10  9:32     ` Andreas Hindborg [this message]
2025-06-10  9:55       ` Benno Lossin
2025-06-10  9:56     ` Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87msag2b8r.fsf@kernel.org \
    --to=a.hindborg@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=lossin@kernel.org \
    --cc=ojeda@kernel.org \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox