From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Jiakai Xu <jiakaipeanut@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-mm@kvack.org
Cc: Liam.Howlett@oracle.com, akpm@linux-foundation.org,
harry.yoo@oracle.com, jannh@google.com,
lorenzo.stoakes@oracle.com, riel@surriel.com, vbabka@kernel.org
Subject: Re: [BUG] WARNING in unlink_anon_vmas()
Date: Wed, 18 Mar 2026 11:57:24 +0100 [thread overview]
Message-ID: <7eb61bf4-5483-43e5-a1b0-87a36cd67b9c@kernel.org> (raw)
In-Reply-To: <CAFb8wJvRhatRD-9DVmr5v5pixTMPEr3UKjYBJjCd09OfH55CKg@mail.gmail.com>
On 3/18/26 11:42, Jiakai Xu wrote:
> Hi all,
Hi,
>
> While fuzzing the KVM subsystem on RISC-V, I stumbled upon a kernel WARNING
> that triggers in unlink_anon_vmas().
>
Looking at the log, this is against 7.0.0-rc2-00014-gc61ec3e8cc5d
> WARNING: mm/rmap.c:528 at unlink_anon_vmas+0x562/0x768 mm/rmap.c:528
> unlink_anon_vmas+0x562/0x768 mm/rmap.c:528
> free_pgtables+0x2a0/0x860 mm/memory.c:427
> exit_mmap+0x406/0xd14 mm/mmap.c:1314
> __mmput+0x114/0x3d4 kernel/fork.c:1174
> mmput+0x74/0x88 kernel/fork.c:1197
> exit_mm kernel/exit.c:581 [inline]
> do_exit+0x7de/0x2adc kernel/exit.c:959
> do_group_exit+0xd4/0x26c kernel/exit.c:1112
> __do_sys_exit_group kernel/exit.c:1123 [inline]
> __se_sys_exit_group kernel/exit.c:1121 [inline]
> __riscv_sys_exit_group+0x4a/0x54 kernel/exit.c:1121
> syscall_handler+0x94/0x118 arch/riscv/include/asm/syscall.h:112
> do_trap_ecall_u+0x39e/0x62e arch/riscv/kernel/traps.c:344
> handle_exception+0x15e/0x16a arch/riscv/kernel/entry.S:232
>
> I am not an expert in this area and have not done a deep manual analysis.
>
> The full crash log, a reproducer, the kernel .config, and the relevant
> source/commit info are available in my GitHub repository:
> https://github.com/j1akai/temp/tree/main/20260318
>
> If this turns out to be a real bug and there is anything I can do to help
> with fixing or testing, I am happy to do so. I hope this report is useful
> and sorry for any noise if it has already been addressed.
We trigger a VM_WARN_ON, so that's certainly something to resolve.
Seems to be:
VM_WARN_ON(anon_vma->num_active_vmas);
Which was added by
commit 2555283eb40df89945557273121e9393ef9b542b
Author: Jann Horn <jannh@google.com>
Date: Wed Aug 31 19:06:00 2022 +0200
mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse
anon_vma->degree tracks the combined number of child anon_vmas and VMAs
that use the anon_vma as their ->anon_vma.
--
Cheers,
David
next prev parent reply other threads:[~2026-03-18 10:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 10:42 Jiakai Xu
2026-03-18 10:57 ` David Hildenbrand (Arm) [this message]
2026-03-18 11:05 ` Lorenzo Stoakes (Oracle)
2026-03-18 10:59 ` Lorenzo Stoakes (Oracle)
2026-03-18 11:23 ` Lorenzo Stoakes (Oracle)
2026-03-18 11:41 ` Lorenzo Stoakes (Oracle)
2026-03-18 11:55 ` Lorenzo Stoakes (Oracle)
2026-03-18 12:28 ` Lorenzo Stoakes (Oracle)
2026-03-19 1:16 ` Jiakai Xu
2026-03-19 10:53 ` Lorenzo Stoakes (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7eb61bf4-5483-43e5-a1b0-87a36cd67b9c@kernel.org \
--to=david@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=harry.yoo@oracle.com \
--cc=jannh@google.com \
--cc=jiakaipeanut@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=riel@surriel.com \
--cc=vbabka@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox