* linux-next: manual merge of the rust tree with the tip tree
@ 2025-03-18 8:55 Stephen Rothwell
0 siblings, 0 replies; 5+ messages in thread
From: Stephen Rothwell @ 2025-03-18 8:55 UTC (permalink / raw)
To: Miguel Ojeda, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra
Cc: Benno Lossin, Boqun Feng, Linux Kernel Mailing List,
Linux Next Mailing List, Mitchell Levy
[-- Attachment #1: Type: text/plain, Size: 2160 bytes --]
Hi all,
Today's linux-next merge of the rust tree got conflicts in:
rust/kernel/sync/condvar.rs
rust/kernel/sync/lock.rs
between commit:
f73ca66f0d7f ("rust: lockdep: Use Pin for all LockClassKey usages")
from the tip tree and commit:
dbd5058ba60c ("rust: make pin-init its own crate")
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.
--
Cheers,
Stephen Rothwell
diff --cc rust/kernel/sync/condvar.rs
index fbf68ada582f,c2535db9e0f8..000000000000
--- a/rust/kernel/sync/condvar.rs
+++ b/rust/kernel/sync/condvar.rs
@@@ -8,17 -8,14 +8,15 @@@
use super::{lock::Backend, lock::Guard, LockClassKey};
use crate::{
ffi::{c_int, c_long},
- init::PinInit,
- pin_init,
str::CStr,
- task::{MAX_SCHEDULE_TIMEOUT, TASK_INTERRUPTIBLE, TASK_NORMAL, TASK_UNINTERRUPTIBLE},
+ task::{
+ MAX_SCHEDULE_TIMEOUT, TASK_FREEZABLE, TASK_INTERRUPTIBLE, TASK_NORMAL, TASK_UNINTERRUPTIBLE,
+ },
time::Jiffies,
types::Opaque,
};
-use core::marker::PhantomPinned;
-use core::ptr;
+use core::{marker::PhantomPinned, pin::Pin, ptr};
- use macros::pin_data;
+ use pin_init::{pin_data, pin_init, PinInit};
/// Creates a [`CondVar`] initialiser with the given name and a newly-created lock class.
#[macro_export]
diff --cc rust/kernel/sync/lock.rs
index 360a10a9216d,7f611b59ac57..000000000000
--- a/rust/kernel/sync/lock.rs
+++ b/rust/kernel/sync/lock.rs
@@@ -10,10 -10,8 +10,8 @@@ use crate::
str::CStr,
types::{NotThreadSafe, Opaque, ScopeGuard},
};
-use core::{cell::UnsafeCell, marker::PhantomPinned};
+use core::{cell::UnsafeCell, marker::PhantomPinned, pin::Pin};
- use macros::pin_data;
+ use pin_init::{pin_data, pin_init, PinInit};
pub mod mutex;
pub mod spinlock;
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* linux-next: manual merge of the rust tree with the tip tree
@ 2025-07-23 1:05 Stephen Rothwell
2025-08-04 2:09 ` Stephen Rothwell
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Rothwell @ 2025-07-23 1:05 UTC (permalink / raw)
To: Miguel Ojeda, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra
Cc: Borislav Petkov (AMD), FUJITA Tomonori, Linux Kernel Mailing List,
Linux Next Mailing List
[-- Attachment #1: Type: text/plain, Size: 2212 bytes --]
Hi all,
Today's linux-next merge of the rust tree got a conflict in:
arch/riscv/include/asm/bug.h
between commit:
ac2655438eb5 ("bugs/riscv: Pass in 'cond_str' to __BUG_FLAGS()")
from the tip tree and commit:
8ad470d4e3dc ("riscv/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust")
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.
--
Cheers,
Stephen Rothwell
diff --cc arch/riscv/include/asm/bug.h
index da9b8e83934d,4c03e20ad11f..000000000000
--- a/arch/riscv/include/asm/bug.h
+++ b/arch/riscv/include/asm/bug.h
@@@ -57,16 -56,22 +56,22 @@@ typedef u32 bug_insn_t
"ebreak\n" \
".pushsection __bug_table,\"aw\"\n\t" \
"2:\n\t" \
- __BUG_ENTRY "\n\t" \
- ".org 2b + %3\n\t" \
+ __BUG_ENTRY(file, line, flags) "\n\t" \
+ ".org 2b + " size "\n\t" \
".popsection" \
+
-#define __BUG_FLAGS(flags) \
++#define __BUG_FLAGS(cond_str, flags) \
+ do { \
+ __asm__ __volatile__ ( \
+ ARCH_WARN_ASM("%0", "%1", "%2", "%3") \
: \
- : "i" (__FILE__), "i" (__LINE__), \
+ : "i" (WARN_CONDITION_STR(cond_str) __FILE__), "i" (__LINE__), \
"i" (flags), \
"i" (sizeof(struct bug_entry))); \
} while (0)
+
#else /* CONFIG_GENERIC_BUG */
-#define __BUG_FLAGS(flags) do { \
+#define __BUG_FLAGS(cond_str, flags) do { \
__asm__ __volatile__ ("ebreak\n"); \
} while (0)
#endif /* CONFIG_GENERIC_BUG */
@@@ -76,8 -81,10 +81,10 @@@
unreachable(); \
} while (0)
-#define __WARN_FLAGS(flags) __BUG_FLAGS(BUGFLAG_WARNING|(flags))
+#define __WARN_FLAGS(cond_str, flags) __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags))
+ #define ARCH_WARN_REACHABLE
+
#define HAVE_ARCH_BUG
#include <asm-generic/bug.h>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* linux-next: manual merge of the rust tree with the tip tree
@ 2025-07-23 1:16 Stephen Rothwell
2025-08-04 2:10 ` Stephen Rothwell
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Rothwell @ 2025-07-23 1:16 UTC (permalink / raw)
To: Miguel Ojeda, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra
Cc: FUJITA Tomonori, Linux Kernel Mailing List,
Linux Next Mailing List
[-- Attachment #1: Type: text/plain, Size: 3432 bytes --]
Hi all,
Today's linux-next merge of the rust tree got a conflict in:
arch/x86/include/asm/bug.h
between commits:
aec58b48517c ("bugs/core: Extend __WARN_FLAGS() with the 'cond_str' parameter")
407b9076c147 ("bugs/x86: Extend _BUG_FLAGS() with the 'cond_str' parameter")
48ede5be5c07 ("bugs/x86: Augment warnings output by concatenating 'cond_str' with the regular __FILE__ string in _BUG_FLAGS()")
from the tip tree and commit:
8c8efa93db68 ("x86/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust")
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.
--
Cheers,
Stephen Rothwell
diff --cc arch/x86/include/asm/bug.h
index 8593976b32cb,20fcb8507ad1..000000000000
--- a/arch/x86/include/asm/bug.h
+++ b/arch/x86/include/asm/bug.h
@@@ -38,19 -38,30 +38,30 @@@
#endif
#ifdef CONFIG_DEBUG_BUGVERBOSE
+ #define __BUG_ENTRY(file, line, flags) \
+ "2:\t" __BUG_REL("1b") "\t# bug_entry::bug_addr\n" \
+ "\t" __BUG_REL(file) "\t# bug_entry::file\n" \
+ "\t.word " line "\t# bug_entry::line\n" \
+ "\t.word " flags "\t# bug_entry::flags\n"
+ #else
+ #define __BUG_ENTRY(file, line, flags) \
+ "2:\t" __BUG_REL("1b") "\t# bug_entry::bug_addr\n" \
+ "\t.word " flags "\t# bug_entry::flags\n"
+ #endif
+
+ #define _BUG_FLAGS_ASM(ins, file, line, flags, size, extra) \
+ "1:\t" ins "\n" \
+ ".pushsection __bug_table,\"aw\"\n" \
+ __BUG_ENTRY(file, line, flags) \
+ "\t.org 2b + " size "\n" \
+ ".popsection\n" \
+ extra
-#define _BUG_FLAGS(ins, flags, extra) \
+#define _BUG_FLAGS(cond_str, ins, flags, extra) \
do { \
- asm_inline volatile("1:\t" ins "\n" \
- ".pushsection __bug_table,\"aw\"\n" \
- "2:\t" __BUG_REL(1b) "\t# bug_entry::bug_addr\n" \
- "\t" __BUG_REL(%c0) "\t# bug_entry::file\n" \
- "\t.word %c1" "\t# bug_entry::line\n" \
- "\t.word %c2" "\t# bug_entry::flags\n" \
- "\t.org 2b+%c3\n" \
- ".popsection\n" \
- extra \
+ asm_inline volatile(_BUG_FLAGS_ASM(ins, "%c0", \
+ "%c1", "%c2", "%c3", extra) \
- : : "i" (__FILE__), "i" (__LINE__), \
+ : : "i" (WARN_CONDITION_STR(cond_str) __FILE__), "i" (__LINE__), \
"i" (flags), \
"i" (sizeof(struct bug_entry))); \
} while (0)
@@@ -92,11 -89,14 +89,14 @@@ do {
* were to trigger, we'd rather wreck the machine in an attempt to get the
* message out than not know about it.
*/
+
+ #define ARCH_WARN_REACHABLE ANNOTATE_REACHABLE(1b)
+
-#define __WARN_FLAGS(flags) \
+#define __WARN_FLAGS(cond_str, flags) \
do { \
__auto_type __flags = BUGFLAG_WARNING|(flags); \
instrumentation_begin(); \
- _BUG_FLAGS(cond_str, ASM_UD2, __flags, ANNOTATE_REACHABLE(1b)); \
- _BUG_FLAGS(ASM_UD2, __flags, ARCH_WARN_REACHABLE); \
++ _BUG_FLAGS(cond_str, ASM_UD2, __flags, ARCH_WARN_REACHABLE); \
instrumentation_end(); \
} while (0)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: linux-next: manual merge of the rust tree with the tip tree
2025-07-23 1:05 Stephen Rothwell
@ 2025-08-04 2:09 ` Stephen Rothwell
0 siblings, 0 replies; 5+ messages in thread
From: Stephen Rothwell @ 2025-08-04 2:09 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
Cc: Miguel Ojeda, Borislav Petkov (AMD), FUJITA Tomonori,
Linux Kernel Mailing List, Linux Next Mailing List
[-- Attachment #1: Type: text/plain, Size: 2496 bytes --]
Hi all,
On Wed, 23 Jul 2025 11:05:37 +1000 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
>
> Today's linux-next merge of the rust tree got a conflict in:
>
> arch/riscv/include/asm/bug.h
>
> between commit:
>
> ac2655438eb5 ("bugs/riscv: Pass in 'cond_str' to __BUG_FLAGS()")
>
> from the tip tree and commit:
>
> 8ad470d4e3dc ("riscv/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust")
>
> 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 arch/riscv/include/asm/bug.h
> index da9b8e83934d,4c03e20ad11f..000000000000
> --- a/arch/riscv/include/asm/bug.h
> +++ b/arch/riscv/include/asm/bug.h
> @@@ -57,16 -56,22 +56,22 @@@ typedef u32 bug_insn_t
> "ebreak\n" \
> ".pushsection __bug_table,\"aw\"\n\t" \
> "2:\n\t" \
> - __BUG_ENTRY "\n\t" \
> - ".org 2b + %3\n\t" \
> + __BUG_ENTRY(file, line, flags) "\n\t" \
> + ".org 2b + " size "\n\t" \
> ".popsection" \
> +
> -#define __BUG_FLAGS(flags) \
> ++#define __BUG_FLAGS(cond_str, flags) \
> + do { \
> + __asm__ __volatile__ ( \
> + ARCH_WARN_ASM("%0", "%1", "%2", "%3") \
> : \
> - : "i" (__FILE__), "i" (__LINE__), \
> + : "i" (WARN_CONDITION_STR(cond_str) __FILE__), "i" (__LINE__), \
> "i" (flags), \
> "i" (sizeof(struct bug_entry))); \
> } while (0)
> +
> #else /* CONFIG_GENERIC_BUG */
> -#define __BUG_FLAGS(flags) do { \
> +#define __BUG_FLAGS(cond_str, flags) do { \
> __asm__ __volatile__ ("ebreak\n"); \
> } while (0)
> #endif /* CONFIG_GENERIC_BUG */
> @@@ -76,8 -81,10 +81,10 @@@
> unreachable(); \
> } while (0)
>
> -#define __WARN_FLAGS(flags) __BUG_FLAGS(BUGFLAG_WARNING|(flags))
> +#define __WARN_FLAGS(cond_str, flags) __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags))
>
> + #define ARCH_WARN_REACHABLE
> +
> #define HAVE_ARCH_BUG
>
> #include <asm-generic/bug.h>
This is now a conflict between the tip tree and Linus' tree.
--
Cheers,
Stephen Rothwell
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: linux-next: manual merge of the rust tree with the tip tree
2025-07-23 1:16 Stephen Rothwell
@ 2025-08-04 2:10 ` Stephen Rothwell
0 siblings, 0 replies; 5+ messages in thread
From: Stephen Rothwell @ 2025-08-04 2:10 UTC (permalink / raw)
To: Miguel Ojeda, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra
Cc: FUJITA Tomonori, Linux Kernel Mailing List,
Linux Next Mailing List
[-- Attachment #1: Type: text/plain, Size: 3761 bytes --]
Hi all,
On Wed, 23 Jul 2025 11:16:09 +1000 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
>
> Today's linux-next merge of the rust tree got a conflict in:
>
> arch/x86/include/asm/bug.h
>
> between commits:
>
> aec58b48517c ("bugs/core: Extend __WARN_FLAGS() with the 'cond_str' parameter")
> 407b9076c147 ("bugs/x86: Extend _BUG_FLAGS() with the 'cond_str' parameter")
> 48ede5be5c07 ("bugs/x86: Augment warnings output by concatenating 'cond_str' with the regular __FILE__ string in _BUG_FLAGS()")
>
> from the tip tree and commit:
>
> 8c8efa93db68 ("x86/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust")
>
> 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 arch/x86/include/asm/bug.h
> index 8593976b32cb,20fcb8507ad1..000000000000
> --- a/arch/x86/include/asm/bug.h
> +++ b/arch/x86/include/asm/bug.h
> @@@ -38,19 -38,30 +38,30 @@@
> #endif
>
> #ifdef CONFIG_DEBUG_BUGVERBOSE
> + #define __BUG_ENTRY(file, line, flags) \
> + "2:\t" __BUG_REL("1b") "\t# bug_entry::bug_addr\n" \
> + "\t" __BUG_REL(file) "\t# bug_entry::file\n" \
> + "\t.word " line "\t# bug_entry::line\n" \
> + "\t.word " flags "\t# bug_entry::flags\n"
> + #else
> + #define __BUG_ENTRY(file, line, flags) \
> + "2:\t" __BUG_REL("1b") "\t# bug_entry::bug_addr\n" \
> + "\t.word " flags "\t# bug_entry::flags\n"
> + #endif
> +
> + #define _BUG_FLAGS_ASM(ins, file, line, flags, size, extra) \
> + "1:\t" ins "\n" \
> + ".pushsection __bug_table,\"aw\"\n" \
> + __BUG_ENTRY(file, line, flags) \
> + "\t.org 2b + " size "\n" \
> + ".popsection\n" \
> + extra
>
> -#define _BUG_FLAGS(ins, flags, extra) \
> +#define _BUG_FLAGS(cond_str, ins, flags, extra) \
> do { \
> - asm_inline volatile("1:\t" ins "\n" \
> - ".pushsection __bug_table,\"aw\"\n" \
> - "2:\t" __BUG_REL(1b) "\t# bug_entry::bug_addr\n" \
> - "\t" __BUG_REL(%c0) "\t# bug_entry::file\n" \
> - "\t.word %c1" "\t# bug_entry::line\n" \
> - "\t.word %c2" "\t# bug_entry::flags\n" \
> - "\t.org 2b+%c3\n" \
> - ".popsection\n" \
> - extra \
> + asm_inline volatile(_BUG_FLAGS_ASM(ins, "%c0", \
> + "%c1", "%c2", "%c3", extra) \
> - : : "i" (__FILE__), "i" (__LINE__), \
> + : : "i" (WARN_CONDITION_STR(cond_str) __FILE__), "i" (__LINE__), \
> "i" (flags), \
> "i" (sizeof(struct bug_entry))); \
> } while (0)
> @@@ -92,11 -89,14 +89,14 @@@ do {
> * were to trigger, we'd rather wreck the machine in an attempt to get the
> * message out than not know about it.
> */
> +
> + #define ARCH_WARN_REACHABLE ANNOTATE_REACHABLE(1b)
> +
> -#define __WARN_FLAGS(flags) \
> +#define __WARN_FLAGS(cond_str, flags) \
> do { \
> __auto_type __flags = BUGFLAG_WARNING|(flags); \
> instrumentation_begin(); \
> - _BUG_FLAGS(cond_str, ASM_UD2, __flags, ANNOTATE_REACHABLE(1b)); \
> - _BUG_FLAGS(ASM_UD2, __flags, ARCH_WARN_REACHABLE); \
> ++ _BUG_FLAGS(cond_str, ASM_UD2, __flags, ARCH_WARN_REACHABLE); \
> instrumentation_end(); \
> } while (0)
>
This is now a conflict between the tip tree and Linus' tree.
--
Cheers,
Stephen Rothwell
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-08-04 2:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-18 8:55 linux-next: manual merge of the rust tree with the tip tree Stephen Rothwell
-- strict thread matches above, loose matches on Subject: below --
2025-07-23 1:05 Stephen Rothwell
2025-08-04 2:09 ` Stephen Rothwell
2025-07-23 1:16 Stephen Rothwell
2025-08-04 2:10 ` Stephen Rothwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox