public inbox for linux-next@vger.kernel.org
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the rust-pin-init tree
@ 2025-06-10  4:22 Stephen Rothwell
  2025-06-10  7:59 ` Benno Lossin
  0 siblings, 1 reply; 6+ messages in thread
From: Stephen Rothwell @ 2025-06-10  4:22 UTC (permalink / raw)
  To: Benno Lossin; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1394 bytes --]

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.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: linux-next: build failure after merge of the rust-pin-init tree
  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
  0 siblings, 1 reply; 6+ messages in thread
From: Benno Lossin @ 2025-06-10  7:59 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

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.

---
Cheers,
Benno

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: linux-next: build failure after merge of the rust-pin-init tree
  2025-06-10  7:59 ` Benno Lossin
@ 2025-06-10  8:15   ` Benno Lossin
  2025-06-10  9:32     ` Andreas Hindborg
  2025-06-10  9:56     ` Miguel Ojeda
  0 siblings, 2 replies; 6+ messages in thread
From: Benno Lossin @ 2025-06-10  8:15 UTC (permalink / raw)
  To: Stephen Rothwell, Miguel Ojeda, Andreas Hindborg
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

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?

---
Cheers,
Benno

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: linux-next: build failure after merge of the rust-pin-init tree
  2025-06-10  8:15   ` Benno Lossin
@ 2025-06-10  9:32     ` Andreas Hindborg
  2025-06-10  9:55       ` Benno Lossin
  2025-06-10  9:56     ` Miguel Ojeda
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Hindborg @ 2025-06-10  9:32 UTC (permalink / raw)
  To: Benno Lossin
  Cc: Stephen Rothwell, Miguel Ojeda, Linux Kernel Mailing List,
	Linux Next Mailing List

"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




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: linux-next: build failure after merge of the rust-pin-init tree
  2025-06-10  9:32     ` Andreas Hindborg
@ 2025-06-10  9:55       ` Benno Lossin
  0 siblings, 0 replies; 6+ messages in thread
From: Benno Lossin @ 2025-06-10  9:55 UTC (permalink / raw)
  To: Andreas Hindborg
  Cc: Stephen Rothwell, Miguel Ojeda, Linux Kernel Mailing List,
	Linux Next Mailing List

On Tue Jun 10, 2025 at 11:32 AM CEST, Andreas Hindborg wrote:
> "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>

Thanks and done!

---
Cheers,
Benno

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: linux-next: build failure after merge of the rust-pin-init tree
  2025-06-10  8:15   ` Benno Lossin
  2025-06-10  9:32     ` Andreas Hindborg
@ 2025-06-10  9:56     ` Miguel Ojeda
  1 sibling, 0 replies; 6+ messages in thread
From: Miguel Ojeda @ 2025-06-10  9:56 UTC (permalink / raw)
  To: Benno Lossin
  Cc: Stephen Rothwell, Miguel Ojeda, Andreas Hindborg,
	Linux Kernel Mailing List, Linux Next Mailing List

On Tue, Jun 10, 2025 at 10:15 AM Benno Lossin <lossin@kernel.org> wrote:
>
> @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?

If I understand correctly, the commit that introduced the issue
(0bcaea04244b) is in your branch (rust/pin-init-next), thus you should
fix it in your branch.

Personally, I would just rebase, since you just applied them hours ago.

As a maintainer, you are trusted to not introduce a change that others
could disagree with (especially on their files) -- but you already
told Andreas and discussed it here, so you did the right thing :)

You can consider mentioning the change in the [ ... ] part, if you want.

Thanks!

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-06-10  9:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2025-06-10  9:55       ` Benno Lossin
2025-06-10  9:56     ` Miguel Ojeda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox