syzbot


INFO: rcu detected stall in batadv_bla_periodic_work

Status: upstream: reported on 2024/10/22 13:50
Reported-by: syzbot+0da7e747dc3186026cef@syzkaller.appspotmail.com
First crash: 44d, last: 44d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 INFO: rcu detected stall in batadv_bla_periodic_work 1 27d 27d 0/3 upstream: reported on 2024/11/08 00:06
upstream INFO: rcu detected stall in batadv_bla_periodic_work net 1 390d 390d 0/28 auto-obsoleted due to no activity on 2024/02/09 07:47
upstream INFO: rcu detected stall in batadv_bla_periodic_work (2) batman syz error 1 52d 79d 0/28 upstream: reported syz repro on 2024/09/17 15:14

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P4027/1:b..l P4106/1:b..l
	(detected by 0, t=10502 jiffies, g=4565, q=235)
task:kworker/u4:8    state:R  running task     stack:    0 pid: 4106 ppid:     2 flags:0x00000008
Workqueue: bat_events batadv_bla_periodic_work
Call trace:
 __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0xf10/0x1e48 kernel/sched/core.c:6373
 preempt_schedule_irq+0x90/0x274 kernel/sched/core.c:6777
 arm64_preempt_schedule_irq+0x174/0x2c4 arch/arm64/kernel/entry-common.c:260
 el1_interrupt+0x40/0x58 arch/arm64/kernel/entry-common.c:463
 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:470
 el1h_64_irq+0x78/0x7c arch/arm64/kernel/entry.S:522
 check_kcov_mode kernel/kcov.c:172 [inline]
 __sanitizer_cov_trace_pc+0x74/0xac kernel/kcov.c:206
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 batadv_bla_purge_claims+0xf0/0x658 net/batman-adv/bridge_loop_avoidance.c:1288
 batadv_bla_periodic_work+0xa0/0xa8c net/batman-adv/bridge_loop_avoidance.c:1443
 process_one_work+0x790/0x11b8 kernel/workqueue.c:2310
 worker_thread+0x910/0x1034 kernel/workqueue.c:2457
 kthread+0x37c/0x45c kernel/kthread.c:334
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870
task:syz-executor    state:R  running task     stack:    0 pid: 4027 ppid:  4020 flags:0x0000000c
Call trace:
 __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0xf10/0x1e48 kernel/sched/core.c:6373
 preempt_schedule_notrace+0xc4/0x1a8 kernel/sched/core.c:6628
 rcu_lockdep_current_cpu_online+0x1a4/0x21c kernel/rcu/tree.c:1175
 rcu_read_lock_held_common kernel/rcu/update.c:112 [inline]
 rcu_read_lock_held+0x20/0x50 kernel/rcu/update.c:309
 xa_entry include/linux/xarray.h:1182 [inline]
 xas_find+0x4a4/0x8f0 lib/xarray.c:1266
 find_get_entry+0x74/0x274 mm/filemap.c:1978
 find_lock_entries+0x600/0x9f8 mm/filemap.c:2092
 shmem_undo_range+0x24c/0x1460 mm/shmem.c:943
 shmem_truncate_range mm/shmem.c:1063 [inline]
 shmem_evict_inode+0x1c4/0x844 mm/shmem.c:1145
 evict+0x418/0x894 fs/inode.c:622
 iput_final fs/inode.c:1744 [inline]
 iput+0x744/0x824 fs/inode.c:1770
 dentry_unlink_inode+0x37c/0x4bc fs/dcache.c:380
 __dentry_kill+0x324/0x5e4 fs/dcache.c:586
 dentry_kill+0xc8/0x250
 dput+0x21c/0x458 fs/dcache.c:893
 __fput+0x494/0x800 fs/file_table.c:288
 ____fput+0x20/0x30 fs/file_table.c:308
 task_work_run+0x130/0x1e4 kernel/task_work.c:188
 tracehook_notify_resume include/linux/tracehook.h:189 [inline]
 do_notify_resume+0x262c/0x32b8 arch/arm64/kernel/signal.c:946
 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:133 [inline]
 exit_to_user_mode arch/arm64/kernel/entry-common.c:138 [inline]
 el0_svc+0xfc/0x1f0 arch/arm64/kernel/entry-common.c:609
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
rcu: rcu_preempt kthread starved for 10507 jiffies! g4565 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:    0 pid:   15 ppid:     2 flags:0x00000008
Call trace:
 __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0xf10/0x1e48 kernel/sched/core.c:6373
 schedule+0x11c/0x1c8 kernel/sched/core.c:6456
 schedule_timeout+0x1d8/0x344 kernel/time/timer.c:1914
 rcu_gp_fqs_loop+0x26c/0x13d4 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0xc4/0x2c4 kernel/rcu/tree.c:2145
 kthread+0x37c/0x45c kernel/kthread.c:334
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870
rcu: Stack dump where RCU GP kthread last ran:
Task dump for CPU 1:
task:syz.1.11        state:R  running task     stack:    0 pid: 4145 ppid:  4023 flags:0x00000001
Call trace:
 __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518
 0xfffff00002956069

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/22 13:50 linux-5.15.y 584a40a22cb9 a93682b3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 INFO: rcu detected stall in batadv_bla_periodic_work
* Struck through repros no longer work on HEAD.