------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28, CPU#3: swapper/3/0 Modules linked in: CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28 Code: cc e8 90 53 0f fd 48 8d 3d 09 4d e8 0b 67 48 0f b9 3a e8 7f 53 0f fd 5b 5d e9 58 60 93 06 e8 73 53 0f fd 48 8d 3d fc 4c e8 0b <67> 48 0f b9 3a e8 62 53 0f fd 5b 5d c3 cc cc cc cc e8 56 53 0f fd RSP: 0018:ffffc900006f8d90 EFLAGS: 00010046 RAX: 0000000080010002 RBX: ffff88803e26aee8 RCX: ffffffff84f95bbb RDX: ffff88801eaf2540 RSI: ffffffff84f95c4d RDI: ffffffff90e1a950 RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000004 R10: 0000000000000003 R11: 0000000000000001 R12: ffff88803e26aee8 R13: ffff888041524800 R14: 000000000000000b R15: 1ffff1100451f00c FS: 0000000000000000(0000) GS:ffff8880d6687000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fe65424f156 CR3: 0000000052c46000 CR4: 0000000000352ef0 Call Trace: __refcount_sub_and_test include/linux/refcount.h:400 [inline] __refcount_dec_and_test include/linux/refcount.h:432 [inline] refcount_dec_and_test include/linux/refcount.h:450 [inline] p9_req_put+0x1ec/0x250 net/9p/client.c:281 req_done+0x1dc/0x2e0 net/9p/trans_virtio.c:147 vring_interrupt+0x2ef/0x650 drivers/virtio/virtio_ring.c:3254 __handle_irq_event_percpu+0x235/0x8c0 kernel/irq/handle.c:209 handle_irq_event_percpu kernel/irq/handle.c:246 [inline] handle_irq_event+0xab/0x1e0 kernel/irq/handle.c:263 handle_edge_irq+0x35e/0x960 kernel/irq/chip.c:857 generic_handle_irq_desc include/linux/irqdesc.h:186 [inline] handle_irq arch/x86/kernel/irq.c:262 [inline] call_irq_handler arch/x86/kernel/irq.c:318 [inline] __common_interrupt+0xd8/0x2f0 arch/x86/kernel/irq.c:333 common_interrupt+0xb9/0xe0 arch/x86/kernel/irq.c:326 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:688 RIP: 0010:pv_native_safe_halt+0xf/0x20 arch/x86/kernel/paravirt.c:63 Code: a6 92 02 e9 43 44 03 00 0f 1f 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa eb 07 0f 00 2d e3 01 22 00 fb f4 cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 66 90 90 90 90 90 90 RSP: 0018:ffffc90000197df0 EFLAGS: 00000202 RAX: 0000000000064485 RBX: ffff88801eaf2540 RCX: ffffffff8b899225 RDX: 0000000000000000 RSI: ffffffff8df0fbf2 RDI: ffffffff8c1c4680 RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed100d4e67b5 R10: ffff88806a733dab R11: 0000000000000000 R12: 0000000000000003 R13: ffffed1003d5e4a8 R14: 0000000000000003 R15: ffffffff90d71950 arch_safe_halt arch/x86/include/asm/paravirt.h:62 [inline] default_idle+0x9/0x10 arch/x86/kernel/process.c:767 default_idle_call+0x6c/0xb0 kernel/sched/idle.c:122 cpuidle_idle_call kernel/sched/idle.c:199 [inline] do_idle+0x464/0x590 kernel/sched/idle.c:352 cpu_startup_entry+0x4f/0x60 kernel/sched/idle.c:451 start_secondary+0x21d/0x2d0 arch/x86/kernel/smpboot.c:312 common_startup_64+0x13e/0x148 ---------------- Code disassembly (best guess): 0: cc int3 1: e8 90 53 0f fd call 0xfd0f5396 6: 48 8d 3d 09 4d e8 0b lea 0xbe84d09(%rip),%rdi # 0xbe84d16 d: 67 48 0f b9 3a ud1 (%edx),%rdi 12: e8 7f 53 0f fd call 0xfd0f5396 17: 5b pop %rbx 18: 5d pop %rbp 19: e9 58 60 93 06 jmp 0x6936076 1e: e8 73 53 0f fd call 0xfd0f5396 23: 48 8d 3d fc 4c e8 0b lea 0xbe84cfc(%rip),%rdi # 0xbe84d26 * 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2f: e8 62 53 0f fd call 0xfd0f5396 34: 5b pop %rbx 35: 5d pop %rbp 36: c3 ret 37: cc int3 38: cc int3 39: cc int3 3a: cc int3 3b: e8 56 53 0f fd call 0xfd0f5396