[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20241128124804.36680f92@canb.auug.org.au>
Date: Thu, 28 Nov 2024 12:48:04 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Greg KH <greg@...ah.com>, Arnd Bergmann <arnd@...db.de>
Cc: Miguel Ojeda <ojeda@...nel.org>, Danilo Krummrich <dakr@...nel.org>,
Gary Guo <gary@...yguo.net>, Greg Kroah-Hartman
<gregkh@...uxfoundation.org>, Linux Kernel Mailing List
<linux-kernel@...r.kernel.org>, Linux Next Mailing List
<linux-next@...r.kernel.org>, Wedson Almeida Filho <walmeida@...rosoft.com>
Subject: Re: linux-next: manual merge of the rust tree with the char-misc
tree
Hi all,
On Mon, 11 Nov 2024 17:34:59 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> Today's linux-next merge of the rust tree got a conflict in:
>
> rust/macros/module.rs
>
> between commit:
>
> 7f15c46a57c3 ("rust: introduce `InPlaceModule`")
>
> from the char-misc tree and commit:
>
> d072acda4862 ("rust: use custom FFI integer types")
>
> from the rust tree.
>
> I fixed it up (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.
>
> diff --cc rust/macros/module.rs
> index a03266a78cfb,e7a087b7e884..000000000000
> --- a/rust/macros/module.rs
> +++ b/rust/macros/module.rs
> @@@ -332,15 -330,21 +332,15 @@@ pub(crate) fn module(ts: TokenStream) -
> /// # Safety
> ///
> /// This function must only be called once.
> - unsafe fn __init() -> core::ffi::c_int {{
> + unsafe fn __init() -> kernel::ffi::c_int {{
> - match <{type_} as kernel::Module>::init(&super::super::THIS_MODULE) {{
> - Ok(m) => {{
> - // SAFETY: No data race, since `__MOD` can only be accessed by this
> - // module and there only `__init` and `__exit` access it. These
> - // functions are only called once and `__exit` cannot be called
> - // before or during `__init`.
> - unsafe {{
> - __MOD = Some(m);
> - }}
> - return 0;
> - }}
> - Err(e) => {{
> - return e.to_errno();
> - }}
> + let initer =
> + <{type_} as kernel::InPlaceModule>::init(&super::super::THIS_MODULE);
> + // SAFETY: No data race, since `__MOD` can only be accessed by this module
> + // and there only `__init` and `__exit` access it. These functions are only
> + // called once and `__exit` cannot be called before or during `__init`.
> + match unsafe {{ initer.__pinned_init(__MOD.as_mut_ptr()) }} {{
> + Ok(m) => 0,
> + Err(e) => e.to_errno(),
> }}
> }}
>
This is now conflict between the char-misc tree and Linus' tree.
--
Cheers,
Stephen Rothwell
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists