[PATCH v2 03/19] maple_tree: Add write lock checking with lockdep sequence numbers

Breno Leitao leitao at debian.org
Wed Jul 8 08:44:17 PDT 2026


Hello Liam,

On Tue, Jun 30, 2026 at 03:08:27PM -0400, Liam R. Howlett (Oracle) wrote:
> +#ifdef CONFIG_RCU_STRICT_GRACE_PERIOD
>  	if (!mt_locked(mas->tree)) {
>  		if (mt_in_rcu(mas->tree))
>  			WARN_ON_ONCE(poll_state_synchronize_rcu(mas->rcu_gp));

Testing next-20260706 on arm64 under a stress-ng + fork/exit/mprotect workload,
I'm hitting the new maple_tree write-lock sequence check:

    WARNING: lib/maple_tree.c:1188 at mas_store_prealloc+0x2a8/0xac0

It fires from several core mm paths — fork (dup_mmap), exit (exit_mmap),
and mprotect (__split_vma) — across multiple processes. The two cleanest
traces are both in the mprotect path:

    WARNING: lib/maple_tree.c:1188 at mas_store_prealloc+0x2a8/0xac0, CPU#67
    Call trace:
     mas_store_prealloc+0x2a8/0xac0 (P)
     vma_iter_store_new+0x2b4/0x3c8
     vma_complete+0x258/0x7c0
     __split_vma+0x64c/0x770
     vma_modify+0x11fc/0x1808
     vma_modify_flags+0x18c/0x220
     mprotect_fixup+0x22c/0x4e8
     do_mprotect_pkey+0x558/0x720
     __arm64_sys_mprotect+0x88/0xa8

    WARNING: lib/maple_tree.c:1188 at mas_prev+0x160/0x1a8, CPU#67
    Call trace:
     mas_prev+0x160/0x1a8 (P)
     __split_vma+0x658/0x770
     vma_modify+0x11fc/0x1808
     vma_modify_flags+0x18c/0x220
     mprotect_fixup+0x22c/0x4e8
     do_mprotect_pkey+0x558/0x720
     __arm64_sys_mprotect+0x88/0xa8

Is this a known issue?



More information about the maple-tree mailing list