linux-next: manual merge of the rust tree with the kunit-next tree

Stephen Rothwell posted 1 patch 2 years, 3 months ago
linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Stephen Rothwell 2 years, 3 months ago
Hi all,

Today's linux-next merge of the rust tree got a conflict in:

  rust/kernel/init.rs

between commit:

  a30e94c29673 ("rust: init: make doctests compilable/testable")

from the kunit-next tree and commit:

  35e7fca2ff59 ("rust: init: add `..Zeroable::zeroed()` syntax for zeroing all missing fields")

from the rust tree.

I fixed it up (I think - see below) and can carry the fix as
necessary. This is now fixed as far as linux-next is concerned, but any
non trivial conflicts should be mentioned to your upstream maintainer
when your tree is submitted for merging.  You may also want to consider
cooperating with the maintainer of the conflicting tree to minimise any
particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc rust/kernel/init.rs
index e05563aad2ed,0071b2834b78..000000000000
--- a/rust/kernel/init.rs
+++ b/rust/kernel/init.rs
@@@ -522,9 -517,11 +526,10 @@@ macro_rules! stack_try_pin_init 
  /// For instance:
  ///
  /// ```rust
- /// # use kernel::{macros::pin_data, pin_init};
 -/// # use kernel::pin_init;
 -/// # use macros::{Zeroable, pin_data};
++/// # use kernel::{macros::Zeroable, pin_data, pin_init};
  /// # use core::{ptr::addr_of_mut, marker::PhantomPinned};
  /// #[pin_data]
+ /// #[derive(Zeroable)]
  /// struct Buf {
  ///     // `ptr` points into `buf`.
  ///     ptr: *mut u8,
Re: linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Miguel Ojeda 2 years, 3 months ago
On Tue, Aug 22, 2023 at 8:23 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the rust tree got a conflict in:

Yeah, we expected this one when we applied an extra patch series
yesterday. I tested the merged trees to double-check the (now tested)
examples pass (i.e. the KUnit tree has a patch series which enables
the testing of the examples in the documentation of Rust code).

> - /// # use kernel::{macros::pin_data, pin_init};
>  -/// # use kernel::pin_init;
>  -/// # use macros::{Zeroable, pin_data};
> ++/// # use kernel::{macros::Zeroable, pin_data, pin_init};

Almost right :) It should be:

    /// # use kernel::{macros::{Zeroable, pin_data}, pin_init};

In case it helps for future similar conflicts, the reason is that
there are 3 things we are "using" here:

    kernel::macros::Zeroable
    kernel::macros::pin_data
    kernel::pin_init

Instead, the current resolution would mean:

    kernel::macros::Zeroable
    kernel::pin_data
    kernel::pin_init

Thanks Stephen!

Cheers,
Miguel
Re: linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Stephen Rothwell 2 years, 3 months ago
Hi Miguel,

On Tue, 22 Aug 2023 10:15:44 +0200 Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Tue, Aug 22, 2023 at 8:23 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > Today's linux-next merge of the rust tree got a conflict in:  
> 
> Yeah, we expected this one when we applied an extra patch series
> yesterday. I tested the merged trees to double-check the (now tested)
> examples pass (i.e. the KUnit tree has a patch series which enables
> the testing of the examples in the documentation of Rust code).
> 
> > - /// # use kernel::{macros::pin_data, pin_init};
> >  -/// # use kernel::pin_init;
> >  -/// # use macros::{Zeroable, pin_data};
> > ++/// # use kernel::{macros::Zeroable, pin_data, pin_init};  
> 
> Almost right :) It should be:
> 
>     /// # use kernel::{macros::{Zeroable, pin_data}, pin_init};
> 
> In case it helps for future similar conflicts, the reason is that
> there are 3 things we are "using" here:
> 
>     kernel::macros::Zeroable
>     kernel::macros::pin_data
>     kernel::pin_init
> 
> Instead, the current resolution would mean:
> 
>     kernel::macros::Zeroable
>     kernel::pin_data
>     kernel::pin_init

Thanks for the explanation.  I have updated my resolution for tomorrow.

-- 
Cheers,
Stephen Rothwell
Re: linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Miguel Ojeda 2 years, 3 months ago
On Tue, Aug 22, 2023 at 2:20 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Thanks for the explanation.  I have updated my resolution for tomorrow.

My pleasure & thanks!

Cheers,
Miguel
Re: linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Shuah Khan 2 years, 3 months ago
On 8/22/23 09:17, Miguel Ojeda wrote:
> On Tue, Aug 22, 2023 at 2:20 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>> Thanks for the explanation.  I have updated my resolution for tomorrow.
> 
> My pleasure & thanks!
> 

Is there anything I need to do on my end when I send kunit pull
request?

thanks,
-- Shuah

Re: linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Miguel Ojeda 2 years, 3 months ago
Hi Shuah,

On Wed, Aug 23, 2023 at 6:08 PM Shuah Khan <skhan@linuxfoundation.org> wrote:
>
> Is there anything I need to do on my end when I send kunit pull
> request?

On our pull I will let Linus know about the conflict -- perhaps you
can point him to our PR if yours goes out later (when are you sending
it? I was planning to send mine tomorrow) and/or you can tell him the
expected resolution or to look into `linux-next`'s resolution, which
looks good to me:

    https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/rust/kernel/init.rs?h=next-20230823#n529

Cheers,
Miguel
Re: linux-next: manual merge of the rust tree with the kunit-next tree
Posted by Miguel Ojeda 2 years, 3 months ago
On Wed, Aug 23, 2023 at 6:29 PM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On our pull I will let Linus know about the conflict -- perhaps you
> can point him to our PR if yours goes out later (when are you sending
> it? I was planning to send mine tomorrow) and/or you can tell him the

Here is the link to the PR in case you decide to refer Linus to it or similar:

    https://lore.kernel.org/rust-for-linux/20230824214024.608618-1-ojeda@kernel.org/

Hope that helps!

Cheers,
Miguel