=============================
WARNING: suspicious RCU usage
syzkaller #0 Not tainted
-----------------------------
net/sched/sch_api.c:304 suspicious rcu_dereference_protected() usage!
other info that might help us debug this:
rcu_scheduler_active = 2, debug_locks = 1
6 locks held by syz.2.570/6723:
#0: ffff88807a53a0e0 (&type->s_umount_key#65/1){+.+.}-{3:3}, at: alloc_super+0x201/0x950 fs/super.c:229
#1: ffffffff8c11c460 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311
#2: ffffffff8c11c460 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312
#3: ffff888029f6a148 (dev->qdisc_running_key ?: &qdisc_running_key){+...}-{0:0}, at: net_tx_action+0x6bc/0x870 net/core/dev.c:5128
#4: ffff888029f6a108 (&sch->q.lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:363 [inline]
#4: ffff888029f6a108 (&sch->q.lock){+.-.}-{2:2}, at: sch_direct_xmit+0x305/0x4a0 net/sched/sch_generic.c:354
#5: ffffffff8c11c460 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311
stack backtrace:
CPU: 0 PID: 6723 Comm: syz.2.570 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
Call Trace:
dump_stack_lvl+0x168/0x230 lib/dump_stack.c:106
qdisc_lookup+0xa6/0x650 net/sched/sch_api.c:304
qdisc_tree_reduce_backlog+0x190/0x430 net/sched/sch_api.c:793
fq_codel_dequeue+0x26a9/0x28c0 net/sched/sch_fq_codel.c:319
qdisc_peek_dequeued+0x6e/0x1f0 include/net/sch_generic.h:1115
tbf_dequeue+0x7d/0xce0 net/sched/sch_tbf.c:265
dequeue_skb net/sched/sch_generic.c:292 [inline]
qdisc_restart net/sched/sch_generic.c:397 [inline]
__qdisc_run+0x237/0x1480 net/sched/sch_generic.c:415
qdisc_run+0x103/0x2f0 include/net/pkt_sched.h:132
net_tx_action+0x6bc/0x870 net/core/dev.c:5128
handle_softirqs+0x328/0x820 kernel/softirq.c:576
__do_softirq kernel/softirq.c:610 [inline]
invoke_softirq kernel/softirq.c:450 [inline]
__irq_exit_rcu+0x12f/0x220 kernel/softirq.c:659
irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1108
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:lock_acquire+0x1f2/0x3f0 kernel/locking/lockdep.c:5627
Code: 00 9c 8f 84 24 80 00 00 00 f6 84 24 81 00 00 00 02 0f 85 f6 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 44 3d 00 00 00 00 00 66 43 c7 44 3d 09 00 00 43 c6 44 3d 0b
RSP: 0018:ffffc9000467f000 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 4f9e4d7832b0ad00
RDX: 0000000000000000 RSI: ffffffff8a0b28c0 RDI: ffffffff8a59a240
RBP: ffffc9000467f118 R08: dffffc0000000000 R09: fffffbfff1ff7619
R10: fffffbfff1ff7619 R11: 1ffffffff1ff7618 R12: ffffffff8c11c460
R13: 1ffff920008cfe0c R14: 0000000000000246 R15: dffffc0000000000
rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:312
rcu_read_lock include/linux/rcupdate.h:739 [inline]
blk_throtl_bio+0x14c/0x28d0 block/blk-throttle.c:2222
submit_bio_checks+0xd15/0x18f0 block/blk-core.c:880
__submit_bio+0x59e/0x810 block/blk-core.c:911
__submit_bio_noacct_mq block/blk-core.c:997 [inline]
submit_bio_noacct+0x5f1/0x6d0 block/blk-core.c:1027
submit_bio+0x2be/0x560 block/blk-core.c:1089
submit_bio_wait+0x101/0x200 block/bio.c:1229
xfs_rw_bdev+0x46c/0x4f0 fs/xfs/xfs_bio_io.c:55
xlog_do_io+0x17a/0x340 fs/xfs/xfs_log_recover.c:147
xlog_bread+0x30/0xc0 fs/xfs/xfs_log_recover.c:178
xlog_rseek_logrec_hdr+0xfb/0x480 fs/xfs/xfs_log_recover.c:794
xlog_find_tail+0x102/0x9f0 fs/xfs/xfs_log_recover.c:1287
xlog_recover+0x48/0x420 fs/xfs/xfs_log_recover.c:3382
xfs_log_mount+0x393/0x6b0 fs/xfs/xfs_log.c:710
xfs_mountfs+0xb27/0x1b10 fs/xfs/xfs_mount.c:764
xfs_fs_fill_super+0x11a4/0x13f0 fs/xfs/xfs_super.c:1675
get_tree_bdev+0x3f1/0x610 fs/super.c:1325
vfs_get_tree+0x88/0x270 fs/super.c:1530
do_new_mount+0x24a/0xa40 fs/namespace.c:3025
do_mount fs/namespace.c:3368 [inline]
__do_sys_mount fs/namespace.c:3576 [inline]
__se_sys_mount+0x2d6/0x3c0 fs/namespace.c:3553
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:0x7f5c95dbe38a
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 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:00007f5c94023e68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f5c94023ef0 RCX: 00007f5c95dbe38a
RDX: 0000200000009700 RSI: 0000200000009740 RDI: 00007f5c94023eb0
RBP: 0000200000009700 R08: 00007f5c94023ef0 R09: 0000000004000000
R10: 0000000004000000 R11: 0000000000000246 R12: 0000200000009740
R13: 00007f5c94023eb0 R14: 000000000000975c R15: 00002000000000c0
vkms_vblank_simulate: vblank timer overrun
vkms_vblank_simulate: vblank timer overrun
vkms_vblank_simulate: vblank timer overrun
vkms_vblank_simulate: vblank timer overrun
----------------
Code disassembly (best guess):
0: 00 9c 8f 84 24 80 00 add %bl,0x802484(%rdi,%rcx,4)
7: 00 00 add %al,(%rax)
9: f6 84 24 81 00 00 00 testb $0x2,0x81(%rsp)
10: 02
11: 0f 85 f6 00 00 00 jne 0x10d
17: 41 f7 c6 00 02 00 00 test $0x200,%r14d
1e: 74 01 je 0x21
20: fb sti
21: 48 c7 44 24 60 0e 36 movq $0x45e0360e,0x60(%rsp)
28: e0 45
* 2a: 4b c7 44 3d 00 00 00 movq $0x0,0x0(%r13,%r15,1) <-- trapping instruction
31: 00 00
33: 66 43 c7 44 3d 09 00 movw $0x0,0x9(%r13,%r15,1)
3a: 00
3b: 43 rex.XB
3c: c6 .byte 0xc6
3d: 44 rex.R
3e: 3d .byte 0x3d
3f: 0b .byte 0xb