syzbot


INFO: rcu detected stall in ksm_scan_thread

Status: upstream: reported on 2025/09/04 23:38
Reported-by: syzbot+71d9913bbc2fd6f5283a@syzkaller.appspotmail.com
First crash: 4d07h, last: 4d07h

Sample crash report:
sl0: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 20320 ms
sl0: transmit timed out, bad line quality?
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P34/1:b..l P10319/1:b..l P10337/1:b..l P5771/2:b..l P11586/1:b..l
rcu: 	(detected by 0, t=10502 jiffies, g=53469, q=266 ncpus=2)
task:syz.2.1432      state:R  running task     stack:25448 pid:11586 ppid:5780   flags:0x00004004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5380 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
 preempt_schedule_common+0x82/0xc0 kernel/sched/core.c:6866
 preempt_schedule+0xab/0xc0 kernel/sched/core.c:6890
 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:45
 __raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline]
 _raw_spin_unlock+0x3a/0x40 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:391 [inline]
 zap_pte_range mm/memory.c:1522 [inline]
 zap_pmd_range mm/memory.c:1570 [inline]
 zap_pud_range mm/memory.c:1599 [inline]
 zap_p4d_range mm/memory.c:1620 [inline]
 unmap_page_range+0x236f/0x2fe0 mm/memory.c:1641
 unmap_vmas+0x25e/0x3a0 mm/memory.c:1731
 exit_mmap+0x200/0xb50 mm/mmap.c:3302
 __mmput+0x118/0x3c0 kernel/fork.c:1355
 exit_mm+0x1da/0x2c0 kernel/exit.c:569
 do_exit+0x88e/0x23c0 kernel/exit.c:870
 do_group_exit+0x21b/0x2d0 kernel/exit.c:1024
 get_signal+0x12fc/0x1400 kernel/signal.c:2902
 arch_do_signal_or_restart+0x96/0x780 arch/x86/kernel/signal.c:310
 exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:174
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:210
 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
 syscall_exit_to_user_mode+0x1a/0x50 kernel/entry/common.c:302
 do_syscall_64+0x61/0xb0 arch/x86/entry/common.c:87
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f101778ebe9
RSP: 002b:00007f10185710e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007f10179c6098 RCX: 00007f101778ebe9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f10179c6098
RBP: 00007f10179c6090 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f10179c6128 R14: 00007ffc4b620cb0 R15: 00007ffc4b620d98
 </TASK>
task:syz-executor    state:R  running task     stack:22864 pid:5771  ppid:5770   flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5380 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
 preempt_schedule_common+0x82/0xc0 kernel/sched/core.c:6866
 preempt_schedule+0xab/0xc0 kernel/sched/core.c:6890
 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:45
 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
 _raw_spin_unlock_irqrestore+0xfa/0x110 kernel/locking/spinlock.c:194
 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
 unlock_task_sighand include/linux/sched/signal.h:750 [inline]
 do_send_sig_info kernel/signal.c:1313 [inline]
 group_send_sig_info+0x230/0x260 kernel/signal.c:1462
 kill_pid_info+0xf7/0x1f0 kernel/signal.c:1496
 kill_proc_info+0xd4/0x180 kernel/signal.c:1513
 kill_something_info kernel/signal.c:1610 [inline]
 __do_sys_kill kernel/signal.c:3823 [inline]
 __se_sys_kill+0x198/0x550 kernel/signal.c:3817
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f1ec9f2afc7
RSP: 002b:00007fff7dad34d8 EFLAGS: 00000206 ORIG_RAX: 000000000000003e
RAX: ffffffffffffffda RBX: 000055557a940ae0 RCX: 00007f1ec9f2afc7
RDX: 0000000000000003 RSI: 0000000000000009 RDI: 0000000000001690
RBP: 000055557a940ae0 R08: 0000000000000007 R09: 000055557a9411a0
R10: 9f1813c970149783 R11: 0000000000000206 R12: 00007fff7dad34ec
R13: 000055557a941180 R14: 00007fff7dad3590 R15: 000055557a94ad30
 </TASK>
task:udevd           state:R  running task     stack:25992 pid:10337 ppid:5158   flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5380 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
 preempt_schedule_common+0x82/0xc0 kernel/sched/core.c:6866
 preempt_schedule+0xab/0xc0 kernel/sched/core.c:6890
 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:45
 __raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline]
 _raw_spin_unlock+0x3a/0x40 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:391 [inline]
 zap_pte_range mm/memory.c:1522 [inline]
 zap_pmd_range mm/memory.c:1570 [inline]
 zap_pud_range mm/memory.c:1599 [inline]
 zap_p4d_range mm/memory.c:1620 [inline]
 unmap_page_range+0x236f/0x2fe0 mm/memory.c:1641
 unmap_vmas+0x25e/0x3a0 mm/memory.c:1731
 exit_mmap+0x200/0xb50 mm/mmap.c:3302
 __mmput+0x118/0x3c0 kernel/fork.c:1355
 exit_mm+0x1da/0x2c0 kernel/exit.c:569
 do_exit+0x88e/0x23c0 kernel/exit.c:870
 do_group_exit+0x21b/0x2d0 kernel/exit.c:1024
 __do_sys_exit_group kernel/exit.c:1035 [inline]
 __se_sys_exit_group kernel/exit.c:1033 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1033
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f343c2f16c5
RSP: 002b:00007ffc0e130738 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 000055b4bc98d4d0 RCX: 00007f343c2f16c5
RDX: 00000000000000e7 RSI: fffffffffffffe68 RDI: 0000000000000000
RBP: 000055b4bc96a910 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffc0e130780 R14: 0000000000000000 R15: 0000000000000000
 </TASK>
task:udevd           state:R  running task     stack:26472 pid:10319 ppid:5158   flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5380 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
 preempt_schedule_notrace+0xce/0x110 kernel/sched/core.c:6959
 preempt_schedule_notrace_thunk+0x1a/0x30 arch/x86/entry/thunk_64.S:46
 rcu_lockdep_current_cpu_online+0x102/0x120 kernel/rcu/tree.c:4235
 rcu_read_lock_held_common kernel/rcu/update.c:112 [inline]
 rcu_read_lock_held+0x1e/0x40 kernel/rcu/update.c:348
 lookup_page_ext mm/page_ext.c:240 [inline]
 page_ext_get+0x193/0x2b0 mm/page_ext.c:509
 __page_table_check_zero+0x138/0x4b0 mm/page_table_check.c:148
 page_table_check_free include/linux/page_table_check.h:41 [inline]
 free_pages_prepare mm/page_alloc.c:1155 [inline]
 free_unref_page_prepare+0x7e1/0x8e0 mm/page_alloc.c:2336
 free_unref_page_list+0xbe/0x860 mm/page_alloc.c:2475
 release_pages+0x1fa0/0x2220 mm/swap.c:1022
 tlb_batch_pages_flush mm/mmu_gather.c:98 [inline]
 tlb_flush_mmu_free mm/mmu_gather.c:293 [inline]
 tlb_flush_mmu+0x368/0x4f0 mm/mmu_gather.c:300
 tlb_finish_mmu+0xc3/0x1d0 mm/mmu_gather.c:392
 exit_mmap+0x3f0/0xb50 mm/mmap.c:3315
 __mmput+0x118/0x3c0 kernel/fork.c:1355
 exit_mm+0x1da/0x2c0 kernel/exit.c:569
 do_exit+0x88e/0x23c0 kernel/exit.c:870
 do_group_exit+0x21b/0x2d0 kernel/exit.c:1024
 __do_sys_exit_group kernel/exit.c:1035 [inline]
 __se_sys_exit_group kernel/exit.c:1033 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1033
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f343c2f16c5
RSP: 002b:00007ffc0e130738 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 000055b4bc993000 RCX: 00007f343c2f16c5
RDX: 00000000000000e7 RSI: fffffffffffffe68 RDI: 0000000000000000
RBP: 000055b4bc96a910 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffc0e130780 R14: 0000000000000000 R15: 0000000000000000
 </TASK>
task:ksmd            state:R  running task     stack:27088 pid:34    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5380 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
 preempt_schedule_irq+0xb5/0x140 kernel/sched/core.c:7009
 irqentry_exit+0x67/0x70 kernel/entry/common.c:438
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687
RIP: 0010:rcu_preempt_read_exit kernel/rcu/tree_plugin.h:384 [inline]
RIP: 0010:__rcu_read_unlock+0x1f/0xd0 kernel/rcu/tree_plugin.h:423
Code: 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa 41 57 41 56 41 55 41 54 53 49 bf 00 00 00 00 00 fc ff df 65 48 8b 3d 91 56 93 7e <48> 8d 9f 3c 04 00 00 49 89 dc 49 c1 ec 03 43 0f b6 04 3c 84 c0 75
RSP: 0018:ffffc90000aafab0 EFLAGS: 00000293
RAX: ffffffff81c654ab RBX: 0000000000000001 RCX: ffff888017eada00
RDX: 0000000000000000 RSI: ffffffff8afc70a0 RDI: ffff888017eada00
RBP: ffffc90000aafbd0 R08: ffff888023c4db43 R09: 1ffff11004789b68
R10: dffffc0000000000 R11: ffffed1004789b69 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000000 R15: dffffc0000000000
 rcu_read_unlock include/linux/rcupdate.h:818 [inline]
 pte_unmap include/linux/pgtable.h:113 [inline]
 follow_page_pte+0xbf8/0x1a70 mm/gup.c:594
 follow_page+0xbf/0x130 mm/gup.c:763
 get_mergeable_page mm/ksm.c:598 [inline]
 unstable_tree_search_insert mm/ksm.c:2020 [inline]
 cmp_and_merge_page mm/ksm.c:2216 [inline]
 ksm_do_scan mm/ksm.c:2494 [inline]
 ksm_scan_thread+0x342f/0x6350 mm/ksm.c:2516
 kthread+0x2fa/0x390 kernel/kthread.c:388
 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
 </TASK>
rcu: rcu_preempt kthread starved for 10637 jiffies! g53469 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:27528 pid:17    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5380 [inline]
 __schedule+0x14d2/0x44d0 kernel/sched/core.c:6699
 schedule+0xbd/0x170 kernel/sched/core.c:6773
 schedule_timeout+0x160/0x280 kernel/time/timer.c:2167
 rcu_gp_fqs_loop+0x302/0x1560 kernel/rcu/tree.c:1667
 rcu_gp_kthread+0x99/0x380 kernel/rcu/tree.c:1866
 kthread+0x2fa/0x390 kernel/kthread.c:388
 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:152
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:293
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 0 Comm: swapper/1 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
RIP: 0010:pv_native_safe_halt+0x13/0x20 arch/x86/kernel/paravirt.c:148
Code: cc cc cc cc cc cc cc f3 0f 1e fa 0f 0b 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 66 90 0f 00 2d 23 27 3a 00 f3 0f 1e fa fb f4 <c3> cc cc cc cc cc cc cc cc cc cc cc cc 66 0f 1f 00 55 41 57 41 56
RSP: 0018:ffffc90000187de0 EFLAGS: 000002c6
RAX: 92de08b46528d200 RBX: ffffffff8161923b RCX: 92de08b46528d200
RDX: 0000000000000001 RSI: ffffffff8aaabaa0 RDI: ffffffff8afc70c0
RBP: ffffc90000187f20 R08: ffff8880b8f36d4b R09: 1ffff110171e6da9
R10: dffffc0000000000 R11: ffffed10171e6daa R12: ffffffff8e4a9128
R13: 0000000000000001 R14: 0000000000000001 R15: 1ffff1100364e780
FS:  0000000000000000(0000) GS:ffff8880b8f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c42fe7d CR3: 0000000075fff000 CR4: 00000000003506e0
Call Trace:
 <TASK>
 arch_safe_halt arch/x86/include/asm/paravirt.h:108 [inline]
 default_idle+0x13/0x20 arch/x86/kernel/process.c:753
 default_idle_call+0x6c/0xa0 kernel/sched/idle.c:97
 cpuidle_idle_call kernel/sched/idle.c:170 [inline]
 do_idle+0x1eb/0x510 kernel/sched/idle.c:282
 cpu_startup_entry+0x43/0x60 kernel/sched/idle.c:380
 start_secondary+0xee/0xf0 arch/x86/kernel/smpboot.c:323
 secondary_startup_64_no_verify+0x179/0x17b
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/04 23:37 linux-6.6.y 355bd0b51d2f d291dd2d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan INFO: rcu detected stall in ksm_scan_thread
* Struck through repros no longer work on HEAD.