------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 0 PID: 4800 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Modules linked in: CPU: 0 UID: 0 PID: 4800 Comm: kworker/0:2 Not tainted 6.11.0-rc1-syzkaller-00154-gc0ecd6388360 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: events linkwatch_event RIP: 0010:refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Code: ff 89 de e8 b8 54 0c fd 84 db 0f 85 66 ff ff ff e8 0b 5a 0c fd c6 05 83 1e 7b 0b 01 90 48 c7 c7 e0 e6 af 8b e8 b7 0a cf fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 e8 59 0c fd 0f b6 1d 5e 1e 7b 0b 31 RSP: 0018:ffffc90000007d90 EFLAGS: 00010082 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff814dc409 RDX: ffff88801e440000 RSI: ffffffff814dc416 RDI: 0000000000000001 RBP: ffff888011d42778 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000 R13: ffff888011d42778 R14: ffff88805964a400 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88802c000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000002c309ff8 CR3: 000000001c5ea000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __refcount_sub_and_test include/linux/refcount.h:275 [inline] __refcount_dec_and_test include/linux/refcount.h:307 [inline] refcount_dec_and_test include/linux/refcount.h:325 [inline] p9_req_put+0x1f4/0x250 net/9p/client.c:404 req_done+0x1e7/0x2f0 net/9p/trans_virtio.c:147 vring_interrupt drivers/virtio/virtio_ring.c:2595 [inline] vring_interrupt+0x31b/0x400 drivers/virtio/virtio_ring.c:2570 __handle_irq_event_percpu+0x229/0x7c0 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0xab/0x1e0 kernel/irq/handle.c:210 handle_edge_irq+0x263/0xd10 kernel/irq/chip.c:831 generic_handle_irq_desc include/linux/irqdesc.h:173 [inline] handle_irq arch/x86/kernel/irq.c:247 [inline] call_irq_handler arch/x86/kernel/irq.c:259 [inline] __common_interrupt+0xdf/0x250 arch/x86/kernel/irq.c:285 common_interrupt+0xab/0xd0 arch/x86/kernel/irq.c:278 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 RIP: 0010:lock_acquire+0x1f2/0x560 kernel/locking/lockdep.c:5727 Code: c1 05 0a 45 99 7e 83 f8 01 0f 85 ea 02 00 00 9c 58 f6 c4 02 0f 85 d5 02 00 00 48 85 ed 74 01 fb 48 b8 00 00 00 00 00 fc ff df <48> 01 c3 48 c7 03 00 00 00 00 48 c7 43 08 00 00 00 00 48 8b 84 24 RSP: 0018:ffffc900043bf990 EFLAGS: 00000206 RAX: dffffc0000000000 RBX: 1ffff92000877f34 RCX: 0000000000000001 RDX: 0000000000000001 RSI: ffffffff8b4cd360 RDI: ffffffff8bb04160 RBP: 0000000000000200 R08: 00000000001da588 R09: fffffbfff28e999a R10: ffffffff9474ccd7 R11: 0000000000000031 R12: 0000000000000001 R13: 0000000000000000 R14: ffff8880592b0908 R15: 0000000000000000 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 kernel/locking/spinlock.c:178 spin_lock_bh include/linux/spinlock.h:356 [inline] dev_reset_queue+0xa9/0x1d0 net/sched/sch_generic.c:1306 netdev_for_each_tx_queue include/linux/netdevice.h:2513 [inline] dev_deactivate_many+0x364/0xb20 net/sched/sch_generic.c:1374 dev_deactivate+0xf9/0x1c0 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x11e/0x160 net/core/link_watch.c:175 __linkwatch_run_queue+0x233/0x690 net/core/link_watch.c:234 linkwatch_event+0x8f/0xc0 net/core/link_watch.c:277 process_one_work+0x958/0x1ad0 kernel/workqueue.c:3231 process_scheduled_works kernel/workqueue.c:3312 [inline] worker_thread+0x6c8/0xf20 kernel/workqueue.c:3390 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ---------------- Code disassembly (best guess): 0: c1 05 0a 45 99 7e 83 roll $0x83,0x7e99450a(%rip) # 0x7e994511 7: f8 clc 8: 01 0f add %ecx,(%rdi) a: 85 ea test %ebp,%edx c: 02 00 add (%rax),%al e: 00 9c 58 f6 c4 02 0f add %bl,0xf02c4f6(%rax,%rbx,2) 15: 85 d5 test %edx,%ebp 17: 02 00 add (%rax),%al 19: 00 48 85 add %cl,-0x7b(%rax) 1c: ed in (%dx),%eax 1d: 74 01 je 0x20 1f: fb sti 20: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 27: fc ff df * 2a: 48 01 c3 add %rax,%rbx <-- trapping instruction 2d: 48 c7 03 00 00 00 00 movq $0x0,(%rbx) 34: 48 c7 43 08 00 00 00 movq $0x0,0x8(%rbx) 3b: 00 3c: 48 rex.W 3d: 8b .byte 0x8b 3e: 84 .byte 0x84 3f: 24 .byte 0x24