[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260204063620.15857-1-sj@kernel.org>
Date: Tue, 3 Feb 2026 22:36:19 -0800
From: SeongJae Park <sj@...nel.org>
To: "Liam R. Howlett" <Liam.Howlett@...cle.com>
Cc: SeongJae Park <sj@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
maple-tree@...ts.infradead.org,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
Suren Baghdasaryan <surenb@...gle.com>,
Matthew Wilcox <willy@...radead.org>,
Sidhartha Kumar <sidhartha.kumar@...cle.com>,
Vlastimil Babka <vbabka@...e.cz>,
Alice Ryhl <aliceryhl@...gle.com>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Arnd Bergmann <arnd@...db.de>,
Christian Kujau <lists@...dbynature.de>
Subject: Re: [PATCH v3 21/30] maple_tree: Add cp_is_new_root() helper
On Tue, 3 Feb 2026 12:26:44 -0500 "Liam R. Howlett" <Liam.Howlett@...cle.com> wrote:
>
> Andrew,
>
> Please apply this fix to remove warnings on older compilers. I've compiled the
> lot against gcc 8.1 and 9.3 with only this fix needed.
I also confirmed the below patch passes my build tests.
>
> Thanks again, SJ, for looking at these patches!
You're welcome, that's my pleasure :)
>
> Regards,
> Liam
>
> -------------------------------------------------------------------------------
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 42038e42a4c7e..22cbaba72931f 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -3361,7 +3361,7 @@ static inline bool cp_is_new_root(struct maple_copy *cp, struct ma_state *mas)
> * read-side operations that can view it until it is insert into
> * the tree after an rcu_assign_pointer() call.
> */
> - RCU_INIT_POINTER(cp->slot[0], mt_mk_node(cp->dst[0].node, mt));
> + ma_init_slot(cp->slot[0], cp->dst[0].node, mt);
> cp->height++;
> }
> WARN_ON_ONCE(cp->dst[0].node != mte_to_node(
But, I found mm-new of today triggers below warning during booting on my test
machine. And git-bisect points this fixup patch. I further found reverting
this patch makes the booting success without the below warning. I have no idea
about the root cause, so reporting first.
[ 0.447863] ------------[ cut here ]------------
[ 0.449019] WARNING: lib/maple_tree.c:2617 at mas_wr_split+0x116d/0x1270, CPU#0: swapper/0/0
[ 0.451068] Modules linked in:
[ 0.451745] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.19.0-rc6+ #263 PREEMPT(voluntary)
[ 0.453653] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 0.455282] RIP: 0010:mas_wr_split (lib/maple_tree.c:2617 (discriminator 1) lib/maple_tree.c:2590 (discriminator 1) lib/maple_tree.c:3400 (discriminator 1) lib/maple_tree.c:3462 (discriminator 1))
[ 0.456071] Code: ff ff ff 40 88 7b 4f 88 53 4d 4c 89 43 08 48 89 4b 10 48 89 6b 20 4c 89 63 28 e9 27 fe ff ff 4c 39 e2 0f 45 f8 e9 e7 f2 ff ff <0f> 0b e9 78 f8 ff ff 48 c7 44 24 10 00 00 00 00 b9 01 00 00 09
All code
========
0: ff (bad)
1: ff (bad)
2: ff 40 88 incl -0x78(%rax)
5: 7b 4f jnp 0x56
7: 88 53 4d mov %dl,0x4d(%rbx)
a: 4c 89 43 08 mov %r8,0x8(%rbx)
e: 48 89 4b 10 mov %rcx,0x10(%rbx)
12: 48 89 6b 20 mov %rbp,0x20(%rbx)
16: 4c 89 63 28 mov %r12,0x28(%rbx)
1a: e9 27 fe ff ff jmp 0xfffffffffffffe46
1f: 4c 39 e2 cmp %r12,%rdx
22: 0f 45 f8 cmovne %eax,%edi
25: e9 e7 f2 ff ff jmp 0xfffffffffffff311
2a:* 0f 0b ud2 <-- trapping instruction
2c: e9 78 f8 ff ff jmp 0xfffffffffffff8a9
31: 48 c7 44 24 10 00 00 movq $0x0,0x10(%rsp)
38: 00 00
3a: b9 01 00 00 09 mov $0x9000001,%ecx
Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: e9 78 f8 ff ff jmp 0xfffffffffffff87f
7: 48 c7 44 24 10 00 00 movq $0x0,0x10(%rsp)
e: 00 00
10: b9 01 00 00 09 mov $0x9000001,%ecx
[ 0.460144] RSP: 0000:ffffffff9b803ba0 EFLAGS: 00010087
[ 0.461338] RAX: ffff8c6b8022f600 RBX: ffffffff9b803e78 RCX: 0000000000000000
[ 0.462915] RDX: ffff8c6b8022ee00 RSI: 0000000000000001 RDI: ffff8c6b8022ee50
[ 0.464498] RBP: 0000000000000003 R08: 0000000000000001 R09: 0000000000000003
[ 0.466099] R10: 0000000000000002 R11: ffff8c6b8022ee00 R12: ffffffff9b803c90
[ 0.467676] R13: ffffffff9b803e78 R14: 0000000000000001 R15: ffffffff9b803c78
[ 0.469244] FS: 0000000000000000(0000) GS:ffff8c6ccfce7000(0000) knlGS:0000000000000000
[ 0.470862] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.471827] CR2: ffff8c6c40801000 CR3: 00000001bf624000 CR4: 00000000000000b0
[ 0.473238] Call Trace:
[ 0.473861] <TASK>
[ 0.474326] mas_store_gfp (lib/maple_tree.c:4890)
[ 0.475159] early_irq_init (kernel/irq/irqdesc.c:197 (discriminator 2) kernel/irq/irqdesc.c:572 (discriminator 2))
[ 0.476105] start_kernel (init/main.c:1112)
[ 0.476922] x86_64_start_reservations (arch/x86/kernel/head64.c:310)
[ 0.477950] x86_64_start_kernel (??:?)
[ 0.478854] common_startup_64 (arch/x86/kernel/head_64.S:419)
[ 0.479761] </TASK>
[ 0.480243] ---[ end trace 0000000000000000 ]---
Thanks,
SJ
[...]
Powered by blists - more mailing lists