=============================
WARNING: suspicious RCU usage
5.15.185-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
7 locks held by kworker/u4:6/4264:
#0: ffff8880169cd938 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x760/0x1000 kernel/workqueue.c:-1
#1: ffffc900031dfd00 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x7a3/0x1000 kernel/workqueue.c:2285
#2: ffffffff8d21ecd0 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0x132/0xb80 net/core/net_namespace.c:589
#3: ffffffff8c11bfa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312
#4: ffff888023b8c948 (dev->qdisc_running_key ?: &qdisc_running_key){+...}-{0:0}, at: net_tx_action+0x6bc/0x870 net/core/dev.c:5128
#5: ffff888023b8c908 (&sch->q.lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:363 [inline]
#5: ffff888023b8c908 (&sch->q.lock){+.-.}-{2:2}, at: sch_direct_xmit+0x305/0x4a0 net/sched/sch_generic.c:354
#6: ffffffff8c11bfa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311
stack backtrace:
CPU: 1 PID: 4264 Comm: kworker/u4:6 Not tainted 5.15.185-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Workqueue: netns cleanup_net
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+0x213/0x4e0 net/sched/sch_api.c:800
codel_qdisc_dequeue+0x1523/0x2100 net/sched/sch_codel.c:102
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:inet_twsk_purge+0xb9/0x810 net/ipv4/inet_timewait_sock.c:265
Code: 38 00 00 00 00 48 89 d8 48 c1 e8 03 48 89 44 24 50 48 89 5c 24 28 48 8b 44 24 50 42 80 3c 28 00 74 08 48 89 df e8 47 f8 6f f9 <8b> 44 24 38 48 89 44 24 58 4c 8d 34 c5 00 00 00 00 4c 03 33 4c 89
RSP: 0018:ffffc900031dfa20 EFLAGS: 00000246
RAX: 1ffffffff2c90184 RBX: ffffffff96480c20 RCX: ffff888026103b80
RDX: 0000000000000000 RSI: ffffffff8a0b2460 RDI: ffffffff8a59a740
RBP: ffffc900031dfb30 R08: dffffc0000000000 R09: fffffbfff1ad157e
R10: fffffbfff1ad157e R11: 1ffffffff1ad157d R12: 000000000000fd21
R13: dffffc0000000000 R14: ffffc900019b9908 R15: 0000000000000001
tcp_sk_exit_batch+0x28/0x90 net/ipv4/tcp_ipv4.c:3234
ops_exit_list net/core/net_namespace.c:177 [inline]
cleanup_net+0x77b/0xb80 net/core/net_namespace.c:635
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
----------------
Code disassembly (best guess):
0: 38 00 cmp %al,(%rax)
2: 00 00 add %al,(%rax)
4: 00 48 89 add %cl,-0x77(%rax)
7: d8 48 c1 fmuls -0x3f(%rax)
a: e8 03 48 89 44 call 0x44894812
f: 24 50 and $0x50,%al
11: 48 89 5c 24 28 mov %rbx,0x28(%rsp)
16: 48 8b 44 24 50 mov 0x50(%rsp),%rax
1b: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1)
20: 74 08 je 0x2a
22: 48 89 df mov %rbx,%rdi
25: e8 47 f8 6f f9 call 0xf96ff871
* 2a: 8b 44 24 38 mov 0x38(%rsp),%eax <-- trapping instruction
2e: 48 89 44 24 58 mov %rax,0x58(%rsp)
33: 4c 8d 34 c5 00 00 00 lea 0x0(,%rax,8),%r14
3a: 00
3b: 4c 03 33 add (%rbx),%r14
3e: 4c rex.WR
3f: 89 .byte 0x89