syzbot


INFO: rcu detected stall in shmem_file_write_iter

Status: upstream: reported on 2025/07/16 18:02
Reported-by: syzbot+8fbb9b68472eee7354ba@syzkaller.appspotmail.com
First crash: 18d, last: 18d
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in shmem_file_write_iter (2) mm 1 142 164d 434d 0/29 auto-obsoleted due to no activity on 2025/05/01 06:33
upstream INFO: rcu detected stall in shmem_file_write_iter mm 1 4 584d 627d 0/29 auto-obsoleted due to no activity on 2024/03/27 04:51

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P16503/1:b..l P16506/1:b..l
rcu: 	(detected by 1, t=10502 jiffies, g=108485, q=225 ncpus=2)
task:syz.1.2457      state:R  running task     stack:26088 pid:16506 ppid:15686  flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14e2/0x4580 kernel/sched/core.c:6700
 preempt_schedule_irq+0xb5/0x140 kernel/sched/core.c:7010
 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:memory_is_nonzero mm/kasan/generic.c:101 [inline]
RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:127 [inline]
RIP: 0010:memory_is_poisoned mm/kasan/generic.c:159 [inline]
RIP: 0010:check_region_inline mm/kasan/generic.c:178 [inline]
RIP: 0010:kasan_check_range+0x6a/0x290 mm/kasan/generic.c:187
Code: 03 49 ba 00 00 00 00 00 fc ff df 4f 8d 1c 17 49 ff c8 4d 89 c1 49 c1 e9 03 48 bb 01 00 00 00 00 fc ff df 4d 8d 34 19 4d 89 f4 <4d> 29 dc 49 83 fc 10 7f 29 4d 85 e4 0f 84 41 01 00 00 4c 89 cb 48
RSP: 0000:ffffc9000551f668 EFLAGS: 00000a03
RAX: 0000000000000001 RBX: dffffc0000000001 RCX: ffffffff81678b2b
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff8e4a9368
RBP: ffffc9000551f7b0 R08: ffffffff8e4a936f R09: 1ffffffff1c9526d
R10: dffffc0000000000 R11: fffffbfff1c9526d R12: fffffbfff1c9526e
R13: dffffc0000000000 R14: fffffbfff1c9526e R15: 1ffffffff1c9526d
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 cpumask_test_cpu include/linux/cpumask.h:504 [inline]
 cpu_online include/linux/cpumask.h:1082 [inline]
 trace_lock_release include/trace/events/lock.h:69 [inline]
 lock_release+0xab/0x8b0 kernel/locking/lockdep.c:5765
 rcu_lock_release include/linux/rcupdate.h:344 [inline]
 rcu_read_unlock include/linux/rcupdate.h:819 [inline]
 percpu_ref_tryget_many include/linux/percpu-refcount.h:250 [inline]
 percpu_ref_tryget+0xfd/0x180 include/linux/percpu-refcount.h:266
 css_tryget include/linux/cgroup_refcnt.h:45 [inline]
 get_mem_cgroup_from_mm+0x102/0x290 mm/memcontrol.c:1065
 __mem_cgroup_charge+0x15/0x80 mm/memcontrol.c:7068
 mem_cgroup_charge include/linux/memcontrol.h:686 [inline]
 shmem_add_to_page_cache+0x8e7/0x1b40 mm/shmem.c:785
 shmem_get_folio_gfp+0xf05/0x2ac0 mm/shmem.c:2072
 shmem_get_folio mm/shmem.c:2165 [inline]
 shmem_write_begin+0xf2/0x420 mm/shmem.c:2707
 generic_perform_write+0x2fb/0x5b0 mm/filemap.c:4016
 shmem_file_write_iter+0xfb/0x120 mm/shmem.c:2884
 call_write_iter include/linux/fs.h:2018 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x43b/0x940 fs/read_write.c:584
 ksys_write+0x147/0x250 fs/read_write.c:637
 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:0x7fd70a98d3df
RSP: 002b:00007fd70b73adf0 EFLAGS: 00000293 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00000000013bd7ef RCX: 00007fd70a98d3df
RDX: 00000000013bd7ef RSI: 00007fd7001f7000 RDI: 0000000000000003
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000005514
R10: 00000000000003cc R11: 0000000000000293 R12: 0000000000000003
R13: 00007fd70b73aef0 R14: 00007fd70b73aeb0 R15: 00007fd7001f7000
 </TASK>
task:syz.8.2458      state:R  running task     stack:25192 pid:16503 ppid:10813  flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14e2/0x4580 kernel/sched/core.c:6700
 preempt_schedule_common+0x82/0xc0 kernel/sched/core.c:6867
 preempt_schedule+0xab/0xc0 kernel/sched/core.c:6891
 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:3298
 __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:0x7f5c1538e929
RSP: 002b:00007f5c16251038 EFLAGS: 00000246 ORIG_RAX: 000000000000012b
RAX: 000000000003fffd RBX: 00007f5c155b6080 RCX: 00007f5c1538e929
RDX: 03fffffffffffeda RSI: 00002000000000c0 RDI: 0000000000000003
RBP: 00007f5c15410b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000002 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000001 R14: 00007f5c155b6080 R15: 00007fffd3c323f8
 </TASK>
rcu: rcu_preempt kthread starved for 10567 jiffies! g108485 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
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:27184 pid:17    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5381 [inline]
 __schedule+0x14e2/0x4580 kernel/sched/core.c:6700
 schedule+0xbd/0x170 kernel/sched/core.c:6774
 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 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 16510 Comm: syz.4.2460 Not tainted 6.6.98-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:__sanitizer_cov_trace_switch+0x103/0x120 kernel/kcov.c:-1
Code: e3 05 4c 8d 63 28 4d 39 fc 77 9d 49 ff c6 4d 89 33 49 89 4c 1b 08 4d 89 54 1b 10 49 89 7c 1b 18 49 89 54 1b 20 eb 81 5b 41 5c <41> 5e 41 5f c3 b9 05 00 00 00 48 85 c0 0f 85 52 ff ff ff c3 66 0f
RSP: 0018:ffffc9000454f6c0 EFLAGS: 00000046
RAX: 0000000000000003 RBX: ffffffff8f6eb46f RCX: 0000000000000003
RDX: ffffffff813ab106 RSI: ffffffff8cb9e4b0 RDI: 0000000000000003
RBP: ffffc9000454f7f8 R08: ffff888022ba5a00 R09: 0000000000000003
R10: 0000000000000004 R11: 0000000000000002 R12: ffffc9000454f7a8
R13: dffffc0000000000 R14: 0000000000000003 R15: ffffffff8f6eb46e
FS:  00007f3ea25d26c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b33706ff8 CR3: 000000005f36f000 CR4: 00000000003506f0
Call Trace:
 <TASK>
 unwind_next_frame+0xe46/0x2970 arch/x86/kernel/unwind_orc.c:581
 arch_stack_walk+0x144/0x190 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4e/0x70 mm/kasan/common.c:52
 kasan_save_free_info+0x2e/0x50 mm/kasan/generic.c:522
 ____kasan_slab_free+0x126/0x1e0 mm/kasan/common.c:236
 kasan_slab_free include/linux/kasan.h:164 [inline]
 slab_free_hook mm/slub.c:1806 [inline]
 slab_free_freelist_hook+0x130/0x1b0 mm/slub.c:1832
 slab_free mm/slub.c:3816 [inline]
 kmem_cache_free+0xf8/0x280 mm/slub.c:3838
 __sigqueue_free kernel/signal.c:461 [inline]
 collect_signal kernel/signal.c:604 [inline]
 __dequeue_signal+0x52b/0x680 kernel/signal.c:626
 dequeue_signal+0xe9/0x4b0 kernel/signal.c:649
 get_signal+0x551/0x1400 kernel/signal.c:2782
 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:0x7f3ea178e929
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f3ea25d20e8 EFLAGS: 00000246
RAX: fffffffffffffffc RBX: 00007f3ea19b6168 RCX: 00007f3ea178e929
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f3ea19b6168
RBP: 00007f3ea19b6160 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f3ea19b616c
R13: 0000000000000000 R14: 00007ffce4d5c6c0 R15: 00007ffce4d5c7a8
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/07/16 18:01 linux-6.6.y 9247f4e6573a 124ec9cc .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan INFO: rcu detected stall in shmem_file_write_iter
* Struck through repros no longer work on HEAD.