__x64_sys_io_uring_setup+0xc8/0x170 do_syscall_64+0xbf/0x360 entry_SYSCALL_64_after_hwframe+0x77/0x7f ------------[ cut here ]------------ percpu ref (free_ioctx_users) <= 0 (-4294967295) after switching to atomic WARNING: lib/percpu-refcount.c:197 at percpu_ref_switch_to_atomic_rcu+0x3cc/0x480, CPU#1: syz-executor.3/284 Modules linked in: CPU: 1 UID: 0 PID: 284 Comm: syz-executor.3 Tainted: G W 6.17.0-rc3-next-20250829 #1 PREEMPT(voluntary) Tainted: [W]=WARN Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:percpu_ref_switch_to_atomic_rcu+0x3cc/0x480 Code: 00 00 00 00 00 fc ff df 48 89 f9 48 c1 e9 03 80 3c 01 00 0f 85 9e 00 00 00 49 8b 75 e8 48 c7 c7 80 97 e2 84 e8 75 c5 e9 fe 90 <0f> 0b 90 90 e9 2b ff ff ff e8 f6 de 5f ff e9 9e fe ff ff e8 7c df RSP: 0018:ffff88806cf08e20 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8139de70 RDX: ffff888016a29b80 RSI: ffffffff8139de7e RDI: 0000000000000001 RBP: 7fffffff00000000 R08: 0000000000000001 R09: ffffed100d9e4801 R10: 0000000000000000 R11: 0000000000000001 R12: ffff88800cb3eb00 R13: ffff88800cb3eb20 R14: 0000000000000002 R15: 0000000000000003 FS: 000055558813b400(0000) GS:ffff8880e56dd000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f425a3a3780 CR3: 000000003984e000 CR4: 0000000000350ef0 Call Trace: rcu_core+0x7c8/0x1800 handle_softirqs+0x1b1/0x770 __irq_exit_rcu+0xc4/0x100 irq_exit_rcu+0x9/0x20 sysvec_apic_timer_interrupt+0x70/0x80 asm_sysvec_apic_timer_interrupt+0x1a/0x20 RIP: 0010:finish_task_switch.isra.0+0x20f/0x840 Code: 4c 89 ff 48 c7 03 00 00 00 00 e8 dc ee 76 03 4d 85 e4 75 ba 4c 89 ff e8 3f d5 76 03 e8 fa 1e 35 00 fb 65 48 8b 1d 99 22 3d 06 <48> 8d bb f0 14 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 RSP: 0018:ffff88801b07fac0 EFLAGS: 00000202 RAX: 000000000002adab RBX: ffff888016a29b80 RCX: ffffffff817c2b86 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff81470d76 RBP: ffff88801b07fb00 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff8643ac57 R11: 0000000000000001 R12: ffff88806cf36ed8 R13: ffff888033b88000 R14: ffff888033b88000 R15: ffff88806cf36ec0 __schedule+0xe86/0x3590 schedule+0xdb/0x390 do_nanosleep+0x15e/0x560 kmemleak: Found object by alias at 0x607f1a629fa4 CPU: 0 UID: 0 PID: 4016 Comm: iou-sqp-4007 Tainted: G W 6.17.0-rc3-next-20250829 #1 PREEMPT(voluntary) Tainted: [W]=WARN Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 Call Trace: dump_stack_lvl+0xca/0x120 __lookup_object+0x94/0xb0 delete_object_full+0x27/0x70 free_percpu+0x30/0x1160 percpu_counter_destroy_many+0x188/0x2b0 __io_uring_free+0x134/0x1e0 io_uring_cancel_generic+0x814/0x960 io_sq_thread+0xd50/0x1b00 ret_from_fork+0x34b/0x430 ret_from_fork_asm+0x1a/0x30 kmemleak: Object (percpu) 0x607f1a629fa0 (size 8): kmemleak: comm "syz-executor.6", pid 4007, jiffies 4294798730 kmemleak: min_count = 1 kmemleak: count = 0 kmemleak: flags = 0x21 kmemleak: checksum = 0 kmemleak: backtrace: pcpu_alloc_noprof+0x87a/0x1170 percpu_ref_init+0x37/0x400 io_uring_setup+0x44c/0x2000 __x64_sys_io_uring_setup+0xc8/0x170 do_syscall_64+0xbf/0x360 entry_SYSCALL_64_after_hwframe+0x77/0x7f kmemleak: Automatic memory scanning thread ended hrtimer_nanosleep+0x13a/0x340 common_nsleep+0xaa/0xd0 __x64_sys_clock_nanosleep+0x331/0x470 do_syscall_64+0xbf/0x360 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f829b3dd8e1 Code: 24 0c 89 3c 24 48 89 4c 24 18 e8 aa e7 ff ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 8b 74 24 0c 8b 3c 24 b8 e6 00 00 00 0f 05 <44> 89 c7 48 89 04 24 e8 e3 e7 ff ff 48 8b 04 24 eb 97 66 2e 0f 1f RSP: 002b:00007ffd968348f0 EFLAGS: 00000293 ORIG_RAX: 00000000000000e6 RAX: ffffffffffffffda RBX: 000000000000000e RCX: 00007f829b3dd8e1 RDX: 00007ffd96834930 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 00007ffd968349bc R08: 0000000000000000 R09: 00007f829b4a8000 R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000032 R13: 000000000002037a R14: 0000000000000010 R15: 00007ffd96834a20 irq event stamp: 176470 hardirqs last enabled at (176480): [] __up_console_sem+0x78/0x80 hardirqs last disabled at (176489): [] __up_console_sem+0x5d/0x80 softirqs last enabled at (173926): [] handle_softirqs+0x50c/0x770 softirqs last disabled at (175533): [] __irq_exit_rcu+0xc4/0x100 ---[ end trace 0000000000000000 ]--- percpu_ref_switch_to_atomic_rcu: percpu_ref_switch_to_atomic_rcu(): percpu_ref underflow slab kmalloc-64 start ffff88800cb3eb00 pointer offset 0 size 64 UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy misc raw-gadget: fail, usb_gadget_register_driver returned -16 ---------------- Code disassembly (best guess): 0: 4c 89 ff mov %r15,%rdi 3: 48 c7 03 00 00 00 00 movq $0x0,(%rbx) a: e8 dc ee 76 03 callq 0x376eeeb f: 4d 85 e4 test %r12,%r12 12: 75 ba jne 0xffffffce 14: 4c 89 ff mov %r15,%rdi 17: e8 3f d5 76 03 callq 0x376d55b 1c: e8 fa 1e 35 00 callq 0x351f1b 21: fb sti 22: 65 48 8b 1d 99 22 3d mov %gs:0x63d2299(%rip),%rbx # 0x63d22c3 29: 06 * 2a: 48 8d bb f0 14 00 00 lea 0x14f0(%rbx),%rdi <-- trapping instruction 31: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 38: fc ff df 3b: 48 89 fa mov %rdi,%rdx 3e: 48 rex.W 3f: c1 .byte 0xc1