============================= 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 4 locks held by syz-executor/4185: #0: ffffffff8c11c460 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312 #1: ffff888020101148 (dev->qdisc_running_key ?: &qdisc_running_key){+...}-{0:0}, at: net_tx_action+0x6bc/0x870 net/core/dev.c:5128 #2: ffff888020101108 (&sch->q.lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:363 [inline] #2: ffff888020101108 (&sch->q.lock){+.-.}-{2:2}, at: sch_direct_xmit+0x305/0x4a0 net/sched/sch_generic.c:354 #3: ffffffff8c11c460 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311 stack backtrace: CPU: 1 PID: 4185 Comm: syz-executor 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 cake_dequeue+0x1b8f/0x4aa0 net/sched/sch_cake.c:2199 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:stack_trace_consume_entry+0x9/0x270 kernel/stacktrace.c:83 Code: 3b 4c 24 78 75 09 48 8d 65 f0 5b 41 5e 5d c3 e8 9d 75 42 08 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 55 41 57 41 56 41 55 41 54 <53> 48 83 ec 18 48 ba 00 00 00 00 00 fc ff df 4c 8d 47 10 4c 89 c5 RSP: 0018:ffffc90002edf298 EFLAGS: 00000282 RAX: ffffffff89a8b6f8 RBX: ffffc90002edf380 RCX: 0000000080000001 RDX: 0000000000000001 RSI: ffffffff89a8b6f8 RDI: ffffc90002edf380 RBP: ffffc90002edf350 R08: dffffc0000000000 R09: ffffc90002edf318 R10: fffff520005dbe65 R11: 1ffff920005dbe63 R12: ffff88807d243b80 R13: 1ffff920005dbe84 R14: ffffffff816678c0 R15: ffffc90002edf2c8 arch_stack_walk+0x100/0x140 arch/x86/kernel/stacktrace.c:27 stack_trace_save+0x98/0xe0 kernel/stacktrace.c:122 save_stack+0xf3/0x1e0 mm/page_owner.c:119 __reset_page_owner+0x51/0x180 mm/page_owner.c:140 reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1340 [inline] free_pcp_prepare mm/page_alloc.c:1391 [inline] free_unref_page_prepare+0x637/0x6c0 mm/page_alloc.c:3317 free_unref_page_list+0x122/0x7e0 mm/page_alloc.c:3433 release_pages+0x184b/0x1bb0 mm/swap.c:963 __pagevec_release+0x6d/0xe0 mm/swap.c:983 pagevec_release include/linux/pagevec.h:81 [inline] shmem_undo_range+0x5cb/0x1880 mm/shmem.c:964 shmem_truncate_range mm/shmem.c:1063 [inline] shmem_evict_inode+0x20d/0xa00 mm/shmem.c:1145 evict+0x485/0x870 fs/inode.c:647 __dentry_kill+0x431/0x650 fs/dcache.c:586 dentry_kill+0xb8/0x290 fs/dcache.c:-1 dput+0xd8/0x1a0 fs/dcache.c:893 __fput+0x5ee/0x930 fs/file_table.c:319 task_work_run+0x125/0x1a0 kernel/task_work.c:188 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop+0x10f/0x130 kernel/entry/common.c:181 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:214 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline] syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:307 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x66/0xd0 RIP: 0033:0x7fc76519d7ab Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00 RSP: 002b:00007fffc1492260 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: 0000000000000000 RBX: 0000000000000003 RCX: 00007fc76519d7ab RDX: 0000000000000000 RSI: 0000000000004c01 RDI: 0000000000000003 RBP: 00007fffc14922fc R08: 0000000000000000 R09: 00007fffc1492007 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000000c R13: 00000000000927c0 R14: 0000000000015464 R15: 00007fffc1492350 ---------------- Code disassembly (best guess): 0: 3b 4c 24 78 cmp 0x78(%rsp),%ecx 4: 75 09 jne 0xf 6: 48 8d 65 f0 lea -0x10(%rbp),%rsp a: 5b pop %rbx b: 41 5e pop %r14 d: 5d pop %rbp e: c3 ret f: e8 9d 75 42 08 call 0x84275b1 14: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 1b: 00 00 00 1e: 0f 1f 00 nopl (%rax) 21: 55 push %rbp 22: 41 57 push %r15 24: 41 56 push %r14 26: 41 55 push %r13 28: 41 54 push %r12 * 2a: 53 push %rbx <-- trapping instruction 2b: 48 83 ec 18 sub $0x18,%rsp 2f: 48 ba 00 00 00 00 00 movabs $0xdffffc0000000000,%rdx 36: fc ff df 39: 4c 8d 47 10 lea 0x10(%rdi),%r8 3d: 4c 89 c5 mov %r8,%rbp