[v5.15] INFO: rcu detected stall in mount

3 views
Skip to first unread message

syzbot

unread,
May 5, 2025, 4:18:32 PM5/5/25
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 16fdf2c7111b Linux 5.15.181
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=17d63a70580000
kernel config: https://syzkaller.appspot.com/x/.config?x=1748ac0065c72647
dashboard link: https://syzkaller.appspot.com/bug?extid=d53e2824fe281eb14853
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/d8540163643f/disk-16fdf2c7.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/1a4c570bb8bc/vmlinux-16fdf2c7.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d4ed683eba5e/bzImage-16fdf2c7.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d53e28...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P4173/1:b..l P13/1:b..l
(detected by 1, t=10502 jiffies, g=7105, q=201)
task:kworker/0:1 state:R running task stack:24104 pid: 13 ppid: 2 flags:0x00004000
Workqueue: ipv6_addrconf addrconf_dad_work
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x11b8/0x43b0 kernel/sched/core.c:6376
preempt_schedule_common+0x82/0xd0 kernel/sched/core.c:6552
preempt_schedule+0xa7/0xb0 kernel/sched/core.c:6577
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:34
__local_bh_enable_ip+0x13b/0x1b0 kernel/softirq.c:390
rcu_read_unlock_bh include/linux/rcupdate.h:809 [inline]
ip6_finish_output2+0x110b/0x1500 net/ipv6/ip6_output.c:131
dst_output include/net/dst.h:452 [inline]
NF_HOOK include/linux/netfilter.h:302 [inline]
ndisc_send_skb+0xbea/0x14a0 net/ipv6/ndisc.c:513
addrconf_dad_completed+0x798/0xca0 net/ipv6/addrconf.c:4278
addrconf_dad_work+0xc70/0x1520 net/ipv6/addrconf.c:-1
process_one_work+0x863/0x1000 kernel/workqueue.c:2310
worker_thread+0xaa8/0x12a0 kernel/workqueue.c:2457
kthread+0x436/0x520 kernel/kthread.c:334
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
</TASK>
task:syz-executor state:R running task stack:21632 pid: 4173 ppid: 4166 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x11b8/0x43b0 kernel/sched/core.c:6376
preempt_schedule_irq+0xb1/0x150 kernel/sched/core.c:6780
irqentry_exit+0x63/0x70 kernel/entry/common.c:432
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:__preempt_count_add kernel/rcu/tree.c:1119 [inline]
RIP: 0010:rcu_is_watching+0x4/0xa0 kernel/rcu/tree.c:1122
Code: 8d 65 e8 5b 41 5e 41 5f 5d c3 e8 87 94 3d 08 41 f7 c7 00 02 00 00 75 b8 eb b7 e8 67 94 3d 08 0f 1f 80 00 00 00 00 41 57 41 56 <53> 65 ff 05 1c d7 9e 7e e8 5f a4 3d 08 89 c3 83 f8 08 73 5c 49 bf
RSP: 0018:ffffc90002f0faf8 EFLAGS: 00000202
RAX: 0000000000000001 RBX: ffff8880257dbbac RCX: ffff8880257dbb80
RDX: 0000000000000000 RSI: ffffffff8a0b2260 RDI: ffffffff8a59a2c0
RBP: 0000000000400cc0 R08: dffffc0000000000 R09: fffffbfff1ff3219
R10: fffffbfff1ff3219 R11: 1ffffffff1ff3218 R12: ffff888024f7baa0
R13: ffff88802bec1f24 R14: ffff8880257dc090 R15: dffffc0000000000
rcu_read_lock include/linux/rcupdate.h:740 [inline]
get_obj_cgroup_from_current+0xdf/0x2f0 mm/memcontrol.c:2924
memcg_slab_pre_alloc_hook mm/slab.h:283 [inline]
slab_pre_alloc_hook+0x7e/0xc0 mm/slab.h:497
slab_alloc_node mm/slub.c:3134 [inline]
slab_alloc mm/slub.c:3228 [inline]
__kmalloc_track_caller+0x69/0x330 mm/slub.c:4925
kstrdup mm/util.c:60 [inline]
kstrdup_const+0x51/0x90 mm/util.c:83
alloc_vfsmnt+0x9d/0x450 fs/namespace.c:207
clone_mnt+0x6b/0xce0 fs/namespace.c:1061
copy_tree+0x3d4/0x7e0 fs/namespace.c:1879
__do_loopback+0x193/0x330 fs/namespace.c:2363
do_loopback+0x387/0x4f0 fs/namespace.c:2403
do_mount fs/namespace.c:3356 [inline]
__do_sys_mount fs/namespace.c:3564 [inline]
__se_sys_mount+0x2d6/0x3c0 fs/namespace.c:3541
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fbc35ede10a
RSP: 002b:00007ffcc2f13c58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007fbc35f5ee89 RCX: 00007fbc35ede10a
RDX: 0000000000000000 RSI: 00007fbc35f5ef96 RDI: 00007fbc35f5efa7
RBP: 00007fbc35f5ef96 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000045000 R11: 0000000000000246 R12: 000055558041f4a8
R13: 0000000000000003 R14: 0000000000000009 R15: 0000000000000000
</TASK>
rcu: rcu_preempt kthread starved for 10556 jiffies! g7105 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:28032 pid: 15 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x11b8/0x43b0 kernel/sched/core.c:6376
schedule+0x11b/0x1e0 kernel/sched/core.c:6459
schedule_timeout+0x15c/0x280 kernel/time/timer.c:1914
rcu_gp_fqs_loop+0x29e/0x11b0 kernel/rcu/tree.c:1972
rcu_gp_kthread+0x98/0x350 kernel/rcu/tree.c:2145
kthread+0x436/0x520 kernel/kthread.c:334
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0 skipped: idling at native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
NMI backtrace for cpu 0 skipped: idling at arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
NMI backtrace for cpu 0 skipped: idling at default_idle+0xb/0x10 arch/x86/kernel/process.c:722


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Jul 5, 2025, 5:01:29 PM7/5/25
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 3dea0e7f549e Linux 5.15.186
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11da0bd4580000
kernel config: https://syzkaller.appspot.com/x/.config?x=fe91feccd8127a59
dashboard link: https://syzkaller.appspot.com/bug?extid=d53e2824fe281eb14853
compiler: Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10062f70580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15da0bd4580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e8db6cfea7ea/disk-3dea0e7f.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/eeb133c8268e/vmlinux-3dea0e7f.xz
kernel image: https://storage.googleapis.com/syzbot-assets/9478525201a1/Image-3dea0e7f.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d53e28...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P4048/1:b..l
(detected by 1, t=10502 jiffies, g=4249, q=193)
task:syz-executor124 state:R running task stack: 0 pid: 4048 ppid: 4040 flags:0x0000000c
Call trace:
__switch_to+0x2f4/0x558 arch/arm64/kernel/process.c:521
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0xe00/0x1c0c kernel/sched/core.c:6376
preempt_schedule_irq+0x90/0x214 kernel/sched/core.c:6780
arm64_preempt_schedule_irq+0x14c/0x21c 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
arch_local_irq_restore arch/arm64/include/asm/irqflags.h:122 [inline]
lock_acquire+0x234/0x620 kernel/locking/lockdep.c:5626
rcu_lock_acquire+0x40/0x4c include/linux/rcupdate.h:312
rcu_read_lock include/linux/rcupdate.h:739 [inline]
lookup_mnt+0x30/0x2ec fs/namespace.c:654
__traverse_mounts+0x16c/0x4c8 fs/namei.c:1340
traverse_mounts fs/namei.c:1387 [inline]
handle_mounts fs/namei.c:1498 [inline]
step_into+0x1cc/0xa24 fs/namei.c:1806
walk_component+0x1f0/0x3a8 fs/namei.c:1982
lookup_last fs/namei.c:2431 [inline]
path_lookupat+0x13c/0x3d0 fs/namei.c:2455
filename_lookup+0x180/0x414 fs/namei.c:2484
kern_path+0x4c/0x190 fs/namei.c:2582
do_loopback+0xc8/0x3c0 fs/namespace.c:2386
path_mount+0x4cc/0x1000 fs/namespace.c:3338
do_mount fs/namespace.c:3357 [inline]
__do_sys_mount fs/namespace.c:3565 [inline]
__se_sys_mount fs/namespace.c:3542 [inline]
__arm64_sys_mount+0x514/0x5e4 fs/namespace.c:3542
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x78/0x1e0 arch/arm64/kernel/entry-common.c:608
el0t_64_sync_handler+0xcc/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 10496 jiffies! g4249 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+0x2f4/0x558 arch/arm64/kernel/process.c:521
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0xe00/0x1c0c kernel/sched/core.c:6376
preempt_schedule_common+0x138/0x218 kernel/sched/core.c:6552
preempt_schedule+0x64/0x84 kernel/sched/core.c:6577
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline]
_raw_spin_unlock_irqrestore+0x108/0x14c kernel/locking/spinlock.c:194
__mod_timer+0x6e8/0xb44 kernel/time/timer.c:1065
schedule_timeout+0x17c/0x2c8 kernel/time/timer.c:1913
rcu_gp_fqs_loop+0x25c/0x11f0 kernel/rcu/tree.c:1972
rcu_gp_kthread+0xc4/0x2a8 kernel/rcu/tree.c:2145
kthread+0x374/0x454 kernel/kthread.c:334
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:855
rcu: Stack dump where RCU GP kthread last ran:
Task dump for CPU 1:
task:syz-executor124 state:R running task stack: 0 pid: 4056 ppid: 4046 flags:0x00000001
Call trace:
dump_backtrace+0x0/0x43c arch/arm64/kernel/stacktrace.c:152
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
sched_show_task+0x3c8/0x4b4 kernel/sched/core.c:8640
dump_cpu_task+0x84/0xa8 kernel/sched/core.c:10927
rcu_check_gp_kthread_starvation+0x1e8/0x274 kernel/rcu/tree_stall.h:488
print_other_cpu_stall+0x1a24/0x1c10 kernel/rcu/tree_stall.h:592
check_cpu_stall kernel/rcu/tree_stall.h:745 [inline]
rcu_pending kernel/rcu/tree.c:3932 [inline]
rcu_sched_clock_irq+0x1558/0x1810 kernel/rcu/tree.c:2619
update_process_times+0x1c4/0x260 kernel/time/timer.c:1818
tick_sched_handle kernel/time/tick-sched.c:254 [inline]
tick_sched_timer+0x30c/0x4bc kernel/time/tick-sched.c:1473
__run_hrtimer kernel/time/hrtimer.c:1690 [inline]
__hrtimer_run_queues+0x3fc/0xb6c kernel/time/hrtimer.c:1754
hrtimer_interrupt+0x2bc/0xb5c kernel/time/hrtimer.c:1816
timer_handler drivers/clocksource/arm_arch_timer.c:659 [inline]
arch_timer_handler_virt+0x74/0x88 drivers/clocksource/arm_arch_timer.c:670
handle_percpu_devid_irq+0x29c/0x76c kernel/irq/chip.c:930
generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
handle_irq_desc kernel/irq/irqdesc.c:652 [inline]
handle_domain_irq+0x144/0x1fc kernel/irq/irqdesc.c:707
gic_handle_irq+0x78/0x1c8 drivers/irqchip/irq-gic-v3.c:765
call_on_irq_stack+0x24/0x30 arch/arm64/kernel/entry.S:855
do_interrupt_handler+0x6c/0x88 arch/arm64/kernel/entry-common.c:267
el1_interrupt+0x30/0x58 arch/arm64/kernel/entry-common.c:454
el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:470
el1h_64_irq+0x78/0x7c arch/arm64/kernel/entry.S:522
arch_local_irq_restore+0x8/0x10 arch/arm64/include/asm/irqflags.h:122
lock_is_held include/linux/lockdep.h:287 [inline]
___might_sleep+0x48/0x4d4 kernel/sched/core.c:9605
__might_sleep+0x98/0x124 kernel/sched/core.c:9593
__might_fault+0x80/0x128 mm/memory.c:5354
setup_sigframe arch/arm64/kernel/signal.c:630 [inline]
setup_rt_frame arch/arm64/kernel/signal.c:792 [inline]
handle_signal arch/arm64/kernel/signal.c:833 [inline]
do_signal arch/arm64/kernel/signal.c:908 [inline]
do_notify_resume+0xcbc/0x3128 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+0xf0/0x1e0 arch/arm64/kernel/entry-common.c:609
el0t_64_sync_handler+0xcc/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584


---
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.
Reply all
Reply to author
Forward
0 new messages