lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ