From: syzbot <syzbot+701fc0fcde2b68c4bf59@syzkaller.appspotmail.com>
To: Liam.Howlett@oracle.com, akpm@linux-foundation.org,
jannh@google.com, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, lorenzo.stoakes@oracle.com,
pasha.tatashin@soleen.com, pfalcato@suse.de,
syzkaller-bugs@googlegroups.com, vbabka@suse.cz
Subject: Re: [syzbot] [mm?] INFO: rcu detected stall in vms_gather_munmap_vmas
Date: Mon, 23 Jun 2025 21:41:27 -0700 [thread overview]
Message-ID: <685a2c77.a00a0220.2e5631.0054.GAE@google.com> (raw)
In-Reply-To: <68251338.a00a0220.104b28.0015.GAE@google.com>
syzbot has found a reproducer for the following issue on:
HEAD commit: 86731a2a651e Linux 6.16-rc3
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=14c41b0c580000
kernel config: https://syzkaller.appspot.com/x/.config?x=28cc6f051378bb16
dashboard link: https://syzkaller.appspot.com/bug?extid=701fc0fcde2b68c4bf59
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13e5e182580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/4323a61a1fcd/disk-86731a2a.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/646a4fb19be1/vmlinux-86731a2a.xz
kernel image: https://storage.googleapis.com/syzbot-assets/4235bfd16a36/bzImage-86731a2a.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+701fc0fcde2b68c4bf59@syzkaller.appspotmail.com
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 0-...!: (1 GPs behind) idle=095c/1/0x4000000000000000 softirq=18291/18292 fqs=1
rcu: (detected by 1, t=10504 jiffies, g=11509, q=2130 ncpus=2)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 6072 Comm: modprobe Not tainted 6.16.0-rc3-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:__lock_acquire+0x80c/0xd20 kernel/locking/lockdep.c:-1
Code: d2 e9 c4 00 00 00 48 c7 c7 70 02 01 8e 48 89 de e8 39 98 51 03 eb c2 44 89 e0 25 ff 1f 00 00 41 c1 ec 03 41 81 e4 00 60 00 00 <41> 09 c4 4c 89 f9 48 c1 e9 20 89 ca c1 c2 04 41 29 cc 44 31 e2 44
RSP: 0018:ffffc90000007b30 EFLAGS: 00000046
RAX: 000000000000090a RBX: 0000000000000001 RCX: ffffffffffffffff
RDX: 00000000ffffc000 RSI: ffff88802f5fc718 RDI: ffff88802f5fbc00
RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff897ed7f4
R10: dffffc0000000000 R11: ffffffff897ed730 R12: 0000000000000000
R13: ffff88802f5fc6f0 R14: ffff88802f5fc718 R15: ffffffffffffffff
FS: 0000000000000000(0000) GS:ffff888125c85000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fd5919b74e8 CR3: 0000000073704000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5871
__raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:351 [inline]
advance_sched+0xc4/0xc90 net/sched/sch_taprio.c:924
__run_hrtimer kernel/time/hrtimer.c:1761 [inline]
__hrtimer_run_queues+0x529/0xc60 kernel/time/hrtimer.c:1825
hrtimer_interrupt+0x45b/0xaa0 kernel/time/hrtimer.c:1887
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1039 [inline]
__sysvec_apic_timer_interrupt+0x10b/0x410 arch/x86/kernel/apic/apic.c:1056
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline]
sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1050
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:26 [inline]
RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:109 [inline]
RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:127 [inline]
RIP: 0010:lock_acquire+0xcd/0x360 kernel/locking/lockdep.c:5867
Code: 0f 85 eb 00 00 00 65 48 8b 04 25 08 b0 99 92 83 b8 ec 0a 00 00 00 0f 85 d5 00 00 00 48 c7 44 24 30 00 00 00 00 9c 8f 44 24 30 <4c> 89 74 24 10 4d 89 fe 4c 8b 7c 24 30 fa 48 c7 c7 f0 21 98 8d e8
RSP: 0018:ffffc90003abecd8 EFLAGS: 00000246
RAX: ffff88802f5fbc00 RBX: 0000000000000000 RCX: 48d8de1ae89d0f00
RDX: 0000000000000000 RSI: ffffffff81728b12 RDI: 1ffffffff1c27dcc
RBP: ffffffff81728af5 R08: 0000000000000000 R09: 0000000000000000
R10: ffffc90003abee98 R11: ffffffff81ace5b0 R12: 0000000000000002
R13: ffffffff8e13ee60 R14: 0000000000000000 R15: 0000000000000000
rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
rcu_read_lock include/linux/rcupdate.h:841 [inline]
class_rcu_constructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0xc2/0x2390 arch/x86/kernel/unwind_orc.c:479
arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:68
unpoison_slab_object mm/kasan/common.c:319 [inline]
__kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:345
kasan_slab_alloc include/linux/kasan.h:250 [inline]
slab_post_alloc_hook mm/slub.c:4148 [inline]
kmem_cache_alloc_bulk_noprof+0x4e0/0x790 mm/slub.c:5374
mt_alloc_bulk lib/maple_tree.c:181 [inline]
mas_alloc_nodes+0x447/0x8e0 lib/maple_tree.c:1271
mas_node_count_gfp lib/maple_tree.c:1331 [inline]
mas_preallocate+0x39e/0x6b0 lib/maple_tree.c:5532
vma_iter_prealloc mm/vma.h:463 [inline]
__split_vma+0x2fa/0xa00 mm/vma.c:525
vms_gather_munmap_vmas+0x4ab/0x12b0 mm/vma.c:1375
__mmap_prepare mm/vma.c:2351 [inline]
__mmap_region mm/vma.c:2607 [inline]
mmap_region+0x678/0x1f30 mm/vma.c:2692
do_mmap+0xc45/0x10d0 mm/mmap.c:561
vm_mmap_pgoff+0x31b/0x4c0 mm/util.c:579
ksys_mmap_pgoff+0x51f/0x760 mm/mmap.c:607
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fd5919e8242
Code: 08 00 04 00 00 eb e2 90 41 f7 c1 ff 0f 00 00 75 27 55 89 cd 53 48 89 fb 48 85 ff 74 33 41 89 ea 48 89 df b8 09 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 5e 5b 5d c3 0f 1f 00 c7 05 46 40 01 00 16 00
RSP: 002b:00007ffc896f1078 EFLAGS: 00000206 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 00007fd591742000 RCX: 00007fd5919e8242
RDX: 0000000000000005 RSI: 000000000014e000 RDI: 00007fd591742000
RBP: 0000000000000812 R08: 0000000000000000 R09: 0000000000028000
R10: 0000000000000812 R11: 0000000000000206 R12: 00007ffc896f10c8
R13: 00007fd5919bc5f0 R14: 00007ffc896f18b0 R15: 00000fff912de212
</TASK>
rcu: rcu_preempt kthread starved for 10500 jiffies! g11509 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt state:R running task stack:27128 pid:16 tgid:16 ppid:2 task_flags:0x208040 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5396 [inline]
__schedule+0x16a2/0x4cb0 kernel/sched/core.c:6785
__schedule_loop kernel/sched/core.c:6863 [inline]
schedule+0x165/0x360 kernel/sched/core.c:6878
schedule_timeout+0x12b/0x270 kernel/time/sleep_timeout.c:99
rcu_gp_fqs_loop+0x301/0x1540 kernel/rcu/tree.c:2054
rcu_gp_kthread+0x99/0x390 kernel/rcu/tree.c:2256
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
CPU: 1 UID: 0 PID: 5190 Comm: udevd Not tainted 6.16.0-rc3-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:csd_lock_wait kernel/smp.c:340 [inline]
RIP: 0010:smp_call_function_many_cond+0xf69/0x12d0 kernel/smp.c:885
Code: 00 45 8b 2f 44 89 ee 83 e6 01 31 ff e8 60 78 0b 00 41 83 e5 01 49 bd 00 00 00 00 00 fc ff df 75 07 e8 0b 74 0b 00 eb 37 f3 90 <43> 0f b6 04 2c 84 c0 75 10 41 f7 07 01 00 00 00 74 1e e8 f0 73 0b
RSP: 0018:ffffc900030a7580 EFLAGS: 00000293
RAX: ffffffff81b4d830 RBX: ffff8880b873b040 RCX: ffff88807c598000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900030a76e0 R08: ffffffff8f9fe0f7 R09: 1ffffffff1f3fc1e
R10: dffffc0000000000 R11: fffffbfff1f3fc1f R12: 1ffff110170c835d
R13: dffffc0000000000 R14: 0000000000000000 R15: ffff8880b8641ae8
FS: 00007f8df5585880(0000) GS:ffff888125d85000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055e81504cef0 CR3: 000000007c958000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
on_each_cpu_cond_mask+0x3f/0x80 kernel/smp.c:1052
__flush_tlb_multi arch/x86/include/asm/paravirt.h:91 [inline]
flush_tlb_multi arch/x86/mm/tlb.c:1361 [inline]
flush_tlb_mm_range+0x6b1/0x12c0 arch/x86/mm/tlb.c:1451
dup_mmap+0x15a0/0x1ac0 mm/mmap.c:1877
dup_mm kernel/fork.c:1477 [inline]
copy_mm+0x13c/0x4b0 kernel/fork.c:1529
copy_process+0x1706/0x3c00 kernel/fork.c:2169
kernel_clone+0x224/0x7f0 kernel/fork.c:2599
__do_sys_clone kernel/fork.c:2742 [inline]
__se_sys_clone kernel/fork.c:2726 [inline]
__x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2726
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f8df4ef1636
Code: 89 df e8 6d e8 f6 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 52 89 c5 85 c0 75 31 64 48 8b 04 25 10 00 00
RSP: 002b:00007ffffac3e030 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 00007ffffac3e038 RCX: 00007f8df4ef1636
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
RBP: 000055e814eac910 R08: 0000000000000000 R09: 000055e814eb4890
R10: 00007f8df5585b50 R11: 0000000000000246 R12: 00007ffffac3e3f0
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
prev parent reply other threads:[~2025-06-24 4:41 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-14 22:03 [syzbot] [mm?] INFO: rcu detected stall in vms_gather_munmap_vmas syzbot
2025-06-24 4:41 ` syzbot [this message]
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=685a2c77.a00a0220.2e5631.0054.GAE@google.com \
--to=syzbot+701fc0fcde2b68c4bf59@syzkaller.appspotmail.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=jannh@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=pasha.tatashin@soleen.com \
--cc=pfalcato@suse.de \
--cc=syzkaller-bugs@googlegroups.com \
--cc=vbabka@suse.cz \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.