=============================
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
6 locks held by dhcpcd-run-hook/5266:
#0: ffff88802bd80bc0 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: prepare_bprm_creds fs/exec.c:1479 [inline]
#0: ffff88802bd80bc0 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: bprm_execve+0xc4/0x17d0 fs/exec.c:1820
#1: ffffffff8c6ad6f8 (tomoyo_ss){....}-{0:0}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311
#2: ffffffff8c11bfa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:312
#3: ffff888022312148 (dev->qdisc_running_key ?: &qdisc_running_key){+...}-{0:0}, at: net_tx_action+0x6bc/0x870 net/core/dev.c:5128
#4: ffff888022312108 (&sch->q.lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:363 [inline]
#4: ffff888022312108 (&sch->q.lock){+.-.}-{2:2}, at: sch_direct_xmit+0x305/0x4a0 net/sched/sch_generic.c:354
#5: ffffffff8c11bfa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311
stack backtrace:
CPU: 0 PID: 5266 Comm: dhcpcd-run-hook Not tainted 5.15.185-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/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+0x213/0x4e0 net/sched/sch_api.c:800
cake_dequeue+0x1b8f/0x4aa0 net/sched/sch_cake.c:2189
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:filter_irq_stacks+0x2e/0x90 kernel/stacktrace.c:398
Code: 41 55 41 54 53 85 f6 74 70 49 89 fe 41 89 f4 31 db 49 bd 00 00 00 00 00 fc ff df 49 89 ff 4c 89 f8 48 c1 e8 03 42 80 3c 28 00 <74> 08 4c 89 ff e8 28 ca 56 00 49 8b 04 de 48 3d e0 01 c0 89 0f 93
RSP: 0018:ffffc9000381f920 EFLAGS: 00000246
RAX: 1ffff92000703f30 RBX: 0000000000000006 RCX: 41b2a75904376001
RDX: 0000000000000001 RSI: 0000000000000009 RDI: ffffc9000381f950
RBP: ffffc9000381fb70 R08: dffffc0000000000 R09: fffffbfff1ad157e
R10: fffffbfff1ad157e R11: 1ffffffff1ad157d R12: 0000000000000009
R13: dffffc0000000000 R14: ffffc9000381f950 R15: ffffc9000381f980
kasan_save_stack mm/kasan/common.c:39 [inline]
kasan_set_track mm/kasan/common.c:46 [inline]
set_alloc_info mm/kasan/common.c:434 [inline]
____kasan_kmalloc mm/kasan/common.c:513 [inline]
__kasan_kmalloc+0xbf/0xf0 mm/kasan/common.c:522
kmalloc include/linux/slab.h:604 [inline]
kzalloc include/linux/slab.h:735 [inline]
tomoyo_environ security/tomoyo/domain.c:633 [inline]
tomoyo_find_next_domain+0x10ac/0x1a60 security/tomoyo/domain.c:882
tomoyo_bprm_check_security+0xdd/0x120 security/tomoyo/tomoyo.c:101
security_bprm_check+0x5e/0x90 security/security.c:868
search_binary_handler fs/exec.c:1730 [inline]
exec_binprm fs/exec.c:1783 [inline]
bprm_execve+0x9f7/0x17d0 fs/exec.c:1852
do_execveat_common+0x51e/0x6d0 fs/exec.c:1957
do_execve fs/exec.c:2027 [inline]
__do_sys_execve fs/exec.c:2103 [inline]
__se_sys_execve fs/exec.c:2098 [inline]
__x64_sys_execve+0x8e/0xa0 fs/exec.c:2098
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:0x7fc25f4ad107
Code: 0f 00 64 c7 00 07 00 00 00 b8 ff ff ff ff c9 c3 0f 1f 00 48 8b 05 a9 ee 0f 00 48 8b 10 e9 01 00 00 00 90 b8 3b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d c1 ec 0f 00 f7 d8 64 89 01 48
RSP: 002b:00007ffcd8df14f8 EFLAGS: 00000246 ORIG_RAX: 000000000000003b
RAX: ffffffffffffffda RBX: 0000559654cf1fe0 RCX: 00007fc25f4ad107
RDX: 0000559654cf2000 RSI: 0000559654cf1fe0 RDI: 0000559654cf2088
RBP: 0000559654cf2088 R08: 00007ffcd8df4e41 R09: 0000000000000000
R10: 0000000000000008 R11: 0000000000000246 R12: 0000559654cf2000
R13: 00007fc25f672e8b R14: 0000559654cf2000 R15: 0000000000000000
----------------
Code disassembly (best guess):
0: 41 55 push %r13
2: 41 54 push %r12
4: 53 push %rbx
5: 85 f6 test %esi,%esi
7: 74 70 je 0x79
9: 49 89 fe mov %rdi,%r14
c: 41 89 f4 mov %esi,%r12d
f: 31 db xor %ebx,%ebx
11: 49 bd 00 00 00 00 00 movabs $0xdffffc0000000000,%r13
18: fc ff df
1b: 49 89 ff mov %rdi,%r15
1e: 4c 89 f8 mov %r15,%rax
21: 48 c1 e8 03 shr $0x3,%rax
25: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1)
* 2a: 74 08 je 0x34 <-- trapping instruction
2c: 4c 89 ff mov %r15,%rdi
2f: e8 28 ca 56 00 call 0x56ca5c
34: 49 8b 04 de mov (%r14,%rbx,8),%rax
38: 48 3d e0 01 c0 89 cmp $0xffffffff89c001e0,%rax
3e: 0f .byte 0xf
3f: 93 xchg %eax,%ebx