=============================
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