------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 3 PID: 21669 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Modules linked in: CPU: 3 UID: 0 PID: 21669 Comm: syz.1.7438 Not tainted 6.14.0-rc2-syzkaller #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Code: ff 89 de e8 78 71 f5 fc 84 db 0f 85 66 ff ff ff e8 cb 76 f5 fc c6 05 e5 68 86 0b 01 90 48 c7 c7 40 fa d2 8b e8 97 b2 b5 fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 a8 76 f5 fc 0f b6 1d c0 68 86 0b 31 RSP: 0000:ffffc90000708be8 EFLAGS: 00010082 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817a1159 RDX: ffff888030722440 RSI: ffffffff817a1166 RDI: 0000000000000001 RBP: ffff888012088448 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000006 R12: ffff888012088448 R13: ffff88802a9c9c00 R14: 0000000000000014 R15: 0000000000000000 FS: 000055556bd08500(0000) GS:ffff88806a900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c290a49 CR3: 000000002f0be000 CR4: 0000000000352ef0 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+0x1ec/0x250 net/9p/client.c:404 req_done+0x1e7/0x2f0 net/9p/trans_virtio.c:147 vring_interrupt drivers/virtio/virtio_ring.c:2715 [inline] vring_interrupt+0x31b/0x400 drivers/virtio/virtio_ring.c:2690 __handle_irq_event_percpu+0x229/0x7d0 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+0x61/0xe0 arch/x86/kernel/irq.c:278 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 RIP: 0010:handle_softirqs+0x1da/0x8f0 kernel/softirq.c:547 Code: 89 44 24 18 48 89 6c 24 10 48 c7 c7 40 74 6b 8b e8 bb 6e da 09 65 66 c7 05 09 cb 87 7e 00 00 e8 cc 7a 45 00 fb bb ff ff ff ff <49> c7 c6 c0 b0 e0 8d 41 0f bc dc 83 c3 01 0f 85 a4 00 00 00 e9 b1 RSP: 0000:ffffc90000708f28 EFLAGS: 00000206 RAX: 0000000000000612 RBX: 00000000ffffffff RCX: 1ffffffff2dd8187 RDX: 0000000000000000 RSI: ffffffff8b6cec80 RDI: ffffffff8bd34d40 RBP: ffff888030722440 R08: 0000000000000001 R09: fffffbfff2dd7b98 R10: ffffffff96ebdcc7 R11: 0000000000000005 R12: 0000000000000082 R13: 000000000000000a R14: 0000000000000001 R15: 0000000000000000 __do_softirq kernel/softirq.c:595 [inline] invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0x109/0x170 kernel/softirq.c:662 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:__sanitizer_cov_trace_pc+0x66/0x70 kernel/kcov.c:235 Code: 82 08 16 00 00 83 f8 02 75 20 48 8b 8a 10 16 00 00 8b 92 0c 16 00 00 48 8b 01 48 83 c0 01 48 39 d0 73 07 48 89 01 48 89 34 c1 cc cc cc cc 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 RSP: 0000:ffffc90004377a58 EFLAGS: 00000293 RAX: 0000000000000000 RBX: ffffea0001632700 RCX: ffffffff81efbf6c RDX: ffff888030722440 RSI: ffffffff81ef57ca RDI: ffffea0001632700 RBP: ffffea0001632720 R08: 0000000000000006 R09: 0000000000000068 R10: 0000000000002000 R11: 0000000000000005 R12: 0000000000000000 R13: ffffea0001632700 R14: 000000110c297000 R15: dffffc0000000000 const_folio_flags.constprop.0+0xa/0x70 include/linux/page-flags.h:308 folio_test_head include/linux/page-flags.h:829 [inline] folio_test_large include/linux/page-flags.h:850 [inline] folio_nr_pages include/linux/mm.h:2059 [inline] folio_next_index include/linux/pagemap.h:940 [inline] filemap_map_pages+0x6be/0x16b0 mm/filemap.c:3808 do_fault_around mm/memory.c:5350 [inline] do_read_fault mm/memory.c:5383 [inline] do_fault mm/memory.c:5526 [inline] do_pte_missing+0xdb8/0x3e10 mm/memory.c:4047 handle_pte_fault mm/memory.c:5889 [inline] __handle_mm_fault+0x1166/0x2c60 mm/memory.c:6032 handle_mm_fault+0x3fa/0xaa0 mm/memory.c:6201 do_user_addr_fault+0x60d/0x13f0 arch/x86/mm/fault.c:1337 handle_page_fault arch/x86/mm/fault.c:1480 [inline] exc_page_fault+0x5c/0xc0 arch/x86/mm/fault.c:1538 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0033:0x7fdf1446d2fd Code: ff 48 83 e8 01 48 89 ee bf 01 00 00 00 48 c1 e0 0e 48 c1 ee 06 48 01 c8 48 89 e9 81 e6 ff 3f 00 00 48 c1 e9 03 83 e1 07 d3 e7 <40> 84 bc 06 20 20 00 00 0f 85 11 fd ff ff e9 c0 fd ff ff e8 0b 34 RSP: 002b:00007fff71edb180 EFLAGS: 00010202 RAX: 000000110c28c000 RBX: 00007fdf152d5720 RCX: 0000000000000005 RDX: 0000000000000a6e RSI: 0000000000002a29 RDI: 0000000000000020 RBP: ffffffff81ca8a6e R08: 00007fdf147a6038 R09: 00007fdf14792000 R10: 00007fdf13bff008 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffffffff81ca8a6e R15: 00000000000000f4 ---------------- Code disassembly (best guess): 0: 89 44 24 18 mov %eax,0x18(%rsp) 4: 48 89 6c 24 10 mov %rbp,0x10(%rsp) 9: 48 c7 c7 40 74 6b 8b mov $0xffffffff8b6b7440,%rdi 10: e8 bb 6e da 09 call 0x9da6ed0 15: 65 66 c7 05 09 cb 87 movw $0x0,%gs:0x7e87cb09(%rip) # 0x7e87cb28 1c: 7e 00 00 1f: e8 cc 7a 45 00 call 0x457af0 24: fb sti 25: bb ff ff ff ff mov $0xffffffff,%ebx * 2a: 49 c7 c6 c0 b0 e0 8d mov $0xffffffff8de0b0c0,%r14 <-- trapping instruction 31: 41 0f bc dc bsf %r12d,%ebx 35: 83 c3 01 add $0x1,%ebx 38: 0f 85 a4 00 00 00 jne 0xe2 3e: e9 .byte 0xe9 3f: b1 .byte 0xb1