[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250804121058.2fd15d2e@canb.auug.org.au>
Date: Mon, 4 Aug 2025 12:10:58 +1000
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Miguel Ojeda <ojeda@...nel.org>, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...nel.org>, "H. Peter Anvin" <hpa@...or.com>, Peter
Zijlstra <peterz@...radead.org>
Cc: FUJITA Tomonori <fujita.tomonori@...il.com>, Linux Kernel Mailing List
<linux-kernel@...r.kernel.org>, Linux Next Mailing List
<linux-next@...r.kernel.org>
Subject: Re: linux-next: manual merge of the rust tree with the tip tree
Hi all,
On Wed, 23 Jul 2025 11:16:09 +1000 Stephen Rothwell <sfr@...b.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
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists