============================= 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 5 locks held by syz.5.1072/8060: #0: ffff888079ff8460 (sb_writers#3){.+.+}-{0:0}, at: do_coredump+0x13fd/0x2960 fs/coredump.c:893 #1: ffff88807e3dba70 (&sb->s_type->i_mutex_key#8){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline] #1: ffff88807e3dba70 (&sb->s_type->i_mutex_key#8){+.+.}-{3:3}, at: generic_file_write_iter+0x7e/0x1b0 mm/filemap.c:3941 #2: ffffc90000007c00 ((&q->perturb_timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:45 [inline] #2: ffffc90000007c00 ((&q->perturb_timer)){+.-.}-{0:0}, at: call_timer_fn+0xbb/0x530 kernel/time/timer.c:1441 #3: ffff88807ae0c108 (&sch->q.lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:364 [inline] #3: ffff88807ae0c108 (&sch->q.lock){+.-.}-{2:2}, at: sfq_perturbation+0x12e/0x2060 net/sched/sch_sfq.c:610 #4: ffffffff8c11c720 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:312 stack backtrace: CPU: 0 PID: 8060 Comm: syz.5.1072 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/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 sfq_rehash net/sched/sch_sfq.c:598 [inline] sfq_perturbation+0x1f20/0x2060 net/sched/sch_sfq.c:613 call_timer_fn+0x16c/0x530 kernel/time/timer.c:1451 expire_timers kernel/time/timer.c:1496 [inline] __run_timers+0x525/0x7c0 kernel/time/timer.c:1767 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:should_fail+0x0/0x4c0 lib/fault-inject.c:104 Code: 80 e1 07 80 c1 03 38 c1 0f 8c 6c ff ff ff 48 89 df e8 44 5b c5 fd e9 5f ff ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 <55> 41 57 41 56 41 55 41 54 53 48 83 ec 18 49 89 f6 48 89 fb 49 bc RSP: 0018:ffffc90003c9e9a8 EFLAGS: 00000283 RAX: 0000000000000001 RBX: 0000000001100cca RCX: 0000000000000000 RDX: ffff888022485940 RSI: 0000000000000001 RDI: ffffffff8c1dc580 RBP: 0000000000000001 R08: dffffc0000000000 R09: fffffbfff1ad334e R10: fffffbfff1ad334e R11: 1ffffffff1ad334d R12: 0000000000000000 R13: ffff88802248596c R14: 0000000000000008 R15: 1ffff92000793d4c prepare_alloc_pages+0x1e4/0x5f0 mm/page_alloc.c:5263 __alloc_pages+0x10e/0x470 mm/page_alloc.c:5476 alloc_pages_vma+0x393/0x7c0 mm/mempolicy.c:2146 shmem_alloc_page mm/shmem.c:1586 [inline] shmem_alloc_and_acct_page+0x427/0xb70 mm/shmem.c:1611 shmem_getpage_gfp+0x14f4/0x2d40 mm/shmem.c:1906 shmem_getpage mm/shmem.c:151 [inline] shmem_write_begin+0xcd/0x1a0 mm/shmem.c:2474 generic_perform_write+0x2aa/0x530 mm/filemap.c:3785 __generic_file_write_iter+0x25f/0x4e0 mm/filemap.c:3912 generic_file_write_iter+0xa6/0x1b0 mm/filemap.c:3944 __kernel_write+0x4f9/0x930 fs/read_write.c:539 __dump_emit+0x243/0x360 fs/coredump.c:943 dump_user_range+0x84/0x340 fs/coredump.c:1017 elf_core_dump+0x2ff7/0x3530 fs/binfmt_elf.c:2285 do_coredump+0x1419/0x2960 fs/coredump.c:894 get_signal+0x40a/0x12c0 kernel/signal.c:2886 arch_do_signal_or_restart+0xc1/0x1300 arch/x86/kernel/signal.c:867 handle_signal_work kernel/entry/common.c:154 [inline] exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:178 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:214 irqentry_exit_to_user_mode+0x5/0x30 kernel/entry/common.c:320 exc_page_fault+0x88/0x100 arch/x86/mm/fault.c:1504 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606 RIP: 0033:0x7f4e22e95987 Code: 88 15 72 5d ec 00 88 05 6f 5d ec 00 c3 50 48 8d 35 19 26 1c 00 48 8d 3d 1f 26 1c 00 31 c0 e8 20 f7 ff ff 53 89 fb 48 83 ec 10 <64> 8b 04 25 94 ff ff ff 85 c0 74 2a 89 fe 31 c0 bf 3c 00 00 00 e8 RSP: 002b:00007f4e2121d120 EFLAGS: 00010202 RAX: 0000000000000000 RBX: 000000000000000b RCX: 00007f4e22fd4fc9 RDX: 00007f4e2121d140 RSI: 00007f4e2121d270 RDI: 000000000000000b RBP: 00007f4e23057f91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000 R13: 00007f4e2322c038 R14: 00007f4e2322bfa0 R15: 00007ffef9d09c58 ---------------- Code disassembly (best guess): 0: 80 e1 07 and $0x7,%cl 3: 80 c1 03 add $0x3,%cl 6: 38 c1 cmp %al,%cl 8: 0f 8c 6c ff ff ff jl 0xffffff7a e: 48 89 df mov %rbx,%rdi 11: e8 44 5b c5 fd call 0xfdc55b5a 16: e9 5f ff ff ff jmp 0xffffff7a 1b: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 22: 00 00 00 25: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) * 2a: 55 push %rbp <-- trapping instruction 2b: 41 57 push %r15 2d: 41 56 push %r14 2f: 41 55 push %r13 31: 41 54 push %r12 33: 53 push %rbx 34: 48 83 ec 18 sub $0x18,%rsp 38: 49 89 f6 mov %rsi,%r14 3b: 48 89 fb mov %rdi,%rbx 3e: 49 rex.WB 3f: bc .byte 0xbc