============================= 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.1142/8521: #0: ffff88807e7d2460 (sb_writers#3){.+.+}-{0:0} , at: do_coredump+0x14c4/0x2a40 fs/coredump.c:893 #1: ffff888079d3ec30 (&sb->s_type->i_mutex_key #8){+.+.}-{3:3} , at: inode_lock include/linux/fs.h:793 [inline] , at: generic_file_write_iter+0x7e/0x1b0 mm/filemap.c:3941 #2: ffffffff8d11efa0 ( rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:313 #3: ffff888024450948 (dev->qdisc_running_key ?: &qdisc_running_key){+...}-{0:0}, at: net_tx_action+0x6d9/0x880 net/core/dev.c:5155 #4: ffff888024450908 (&sch->q.lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:364 [inline] #4: ffff888024450908 (&sch->q.lock){+.-.}-{2:2}, at: sch_direct_xmit+0x301/0x4a0 net/sched/sch_generic.c:357 #5: ffffffff8d11efa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:312 stack backtrace: CPU: 0 PID: 8521 Comm: syz.2.1142 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/07/2026 Call Trace: dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106 qdisc_lookup+0xa6/0x640 net/sched/sch_api.c:304 qdisc_tree_reduce_backlog+0x188/0x480 net/sched/sch_api.c:800 codel_dequeue_drop net/sched/sch_codel.c:108 [inline] codel_peek+0x1dd/0x330 net/sched/sch_codel.c:140 tbf_dequeue+0x7b/0xcf0 net/sched/sch_tbf.c:265 dequeue_skb net/sched/sch_generic.c:295 [inline] qdisc_restart net/sched/sch_generic.c:400 [inline] __qdisc_run+0x22f/0x14b0 net/sched/sch_generic.c:418 qdisc_run+0x103/0x2f0 include/net/pkt_sched.h:132 net_tx_action+0x6d9/0x880 net/core/dev.c:5155 handle_softirqs+0x336/0x830 kernel/softirq.c:576 __do_softirq kernel/softirq.c:610 [inline] invoke_softirq kernel/softirq.c:450 [inline] __irq_exit_rcu+0x13b/0x230 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:deref_stack_reg arch/x86/kernel/unwind_orc.c:360 [inline] RIP: 0010:unwind_next_frame+0x982/0x1cf0 arch/x86/kernel/unwind_orc.c:539 Code: 48 89 da e8 00 51 f5 ff 85 c0 0f 85 fd 0a 00 00 4c 89 ff e8 f0 1a 00 00 49 89 c7 48 bd 00 00 00 00 00 fc ff df 48 8b 44 24 10 <80> 3c 28 00 4c 8d 73 48 74 08 4c 89 f7 e8 6c 4e 89 00 4d 89 3e 48 RSP: 0000:ffffc90002b9e450 EFLAGS: 00000202 RAX: 1ffff92000573ca6 RBX: ffffc90002b9e4e8 RCX: 1ffff92000573c01 RDX: ffffc90002b9fbf0 RSI: ffffffff8e84ea78 RDI: ffffc90002b9fbe8 RBP: dffffc0000000000 R08: 0000000000000001 R09: 000000000000000d R10: dffffc0000000000 R11: fffff52000573ca9 R12: 1ffffffff1deb88c R13: 1ffffffff1deb88c R14: ffffc90002ba0000 R15: ffffffff814b8de1 arch_stack_walk+0x10c/0x140 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0xa6/0xf0 kernel/stacktrace.c:122 save_stack+0x121/0x230 mm/page_owner.c:119 __set_page_owner+0x41/0x2d0 mm/page_owner.c:181 prep_new_page mm/page_alloc.c:2426 [inline] get_page_from_freelist+0x24f6/0x2670 mm/page_alloc.c:4192 __alloc_pages+0x1ee/0x480 mm/page_alloc.c:5501 alloc_pages_vma+0x2bc/0x790 mm/mempolicy.c:2146 shmem_alloc_page mm/shmem.c:1586 [inline] shmem_alloc_and_acct_page+0x47f/0xbe0 mm/shmem.c:1611 shmem_getpage_gfp+0x14be/0x2c10 mm/shmem.c:1906 shmem_getpage mm/shmem.c:151 [inline] shmem_write_begin+0xcd/0x1a0 mm/shmem.c:2474 generic_perform_write+0x2b6/0x550 mm/filemap.c:3785 __generic_file_write_iter+0x261/0x4e0 mm/filemap.c:3912 generic_file_write_iter+0xa6/0x1b0 mm/filemap.c:3944 __kernel_write+0x522/0x980 fs/read_write.c:539 __dump_emit+0x258/0x380 fs/coredump.c:943 dump_user_range+0x84/0x340 fs/coredump.c:1017 elf_core_dump+0x2fe0/0x3530 fs/binfmt_elf.c:2285 do_coredump+0x14e8/0x2a40 fs/coredump.c:894 get_signal+0x531/0x12e0 kernel/signal.c:2903 arch_do_signal_or_restart+0xe6/0x12a0 arch/x86/kernel/signal.c:867 handle_signal_work kernel/entry/common.c:157 [inline] exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:181 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:217 irqentry_exit_to_user_mode+0x5/0x30 kernel/entry/common.c:323 exc_page_fault+0x88/0x100 arch/x86/mm/fault.c:1499 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606 RIP: 0033:0x7f161e3dfb21 Code: 00 00 00 00 0f 1f 44 00 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 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f RSP: 002b:fffffffffffffe70 EFLAGS: 00010217 RAX: 0000000000000000 RBX: 00007f161e665fa0 RCX: 00007f161e3dfb19 RDX: 0000000000000000 RSI: fffffffffffffe70 RDI: 0000000000008000 RBP: 00007f161e477b70 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000 R13: 00007f161e666038 R14: 00007f161e665fa0 R15: 00007fff5abe6118 ---------------- Code disassembly (best guess): 0: 48 89 da mov %rbx,%rdx 3: e8 00 51 f5 ff call 0xfff55108 8: 85 c0 test %eax,%eax a: 0f 85 fd 0a 00 00 jne 0xb0d 10: 4c 89 ff mov %r15,%rdi 13: e8 f0 1a 00 00 call 0x1b08 18: 49 89 c7 mov %rax,%r15 1b: 48 bd 00 00 00 00 00 movabs $0xdffffc0000000000,%rbp 22: fc ff df 25: 48 8b 44 24 10 mov 0x10(%rsp),%rax * 2a: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1) <-- trapping instruction 2e: 4c 8d 73 48 lea 0x48(%rbx),%r14 32: 74 08 je 0x3c 34: 4c 89 f7 mov %r14,%rdi 37: e8 6c 4e 89 00 call 0x894ea8 3c: 4d 89 3e mov %r15,(%r14) 3f: 48 rex.W