------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 3 PID: 6828 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Modules linked in: CPU: 3 UID: 0 PID: 6828 Comm: rm Not tainted 6.15.0-rc1-syzkaller-00246-g900241a5cc15 #0 PREEMPT(full) 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 08 ab eb fc 84 db 0f 85 66 ff ff ff e8 1b b0 eb fc c6 05 5e 26 9f 0b 01 90 48 c7 c7 40 0f f4 8b e8 f7 40 ab fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 f8 af eb fc 0f b6 1d 39 26 9f 0b 31 RSP: 0018:ffffc900006f8d90 EFLAGS: 00010082 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817acff8 RDX: ffff88802471a440 RSI: ffffffff817ad005 RDI: 0000000000000001 RBP: ffff88804e46e118 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff88804e46e118 R13: ffff88802a1edc00 R14: 0000000000000015 R15: 1ffff110209f380c FS: 0000000000000000(0000) GS:ffff8880d6cb3000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8fe2a47108 CR3: 00000000518ec000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 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:404 req_done+0x1dc/0x2e0 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:254 [inline] call_irq_handler arch/x86/kernel/irq.c:266 [inline] __common_interrupt+0xdf/0x250 arch/x86/kernel/irq.c:292 common_interrupt+0xba/0xe0 arch/x86/kernel/irq.c:285 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 RIP: 0010:stack_depot_save_flags+0x4/0xa50 lib/stackdepot.c:599 Code: 01 0f 85 10 ff ff ff 90 0f 0b 90 e9 07 ff ff ff 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa <83> f9 03 0f 87 96 03 00 00 41 57 41 56 49 89 fe 41 55 41 54 41 89 RSP: 0018:ffffc9000392f5d0 EFLAGS: 00000283 RAX: 000000000000000d RBX: ffffc9000392f5d8 RCX: 0000000000000001 RDX: 0000000000000cc0 RSI: 000000000000000d RDI: ffffc9000392f5d8 RBP: 0000000000000cc0 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000001 R13: 0000000000000cc0 R14: 0000000000000100 R15: 0000000000000000 kasan_save_stack+0x42/0x60 mm/kasan/common.c:48 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 unpoison_slab_object mm/kasan/common.c:319 [inline] __kasan_slab_alloc+0x89/0x90 mm/kasan/common.c:345 kasan_slab_alloc include/linux/kasan.h:250 [inline] slab_post_alloc_hook mm/slub.c:4151 [inline] slab_alloc_node mm/slub.c:4200 [inline] kmem_cache_alloc_noprof+0x1cb/0x3b0 mm/slub.c:4207 vm_area_alloc+0x1f/0x160 kernel/fork.c:441 __mmap_new_vma mm/vma.c:2359 [inline] __mmap_region+0xfd0/0x27c0 mm/vma.c:2476 mmap_region+0x1ab/0x3f0 mm/vma.c:2554 do_mmap+0xd8e/0x11b0 mm/mmap.c:561 vm_mmap_pgoff+0x281/0x450 mm/util.c:579 ksys_mmap_pgoff+0x32c/0x5c0 mm/mmap.c:607 __do_sys_mmap arch/x86/kernel/sys_x86_64.c:89 [inline] __se_sys_mmap arch/x86/kernel/sys_x86_64.c:82 [inline] __x64_sys_mmap+0x125/0x190 arch/x86/kernel/sys_x86_64.c:82 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f8fe2a71b74 Code: 63 08 44 89 e8 5b 41 5c 41 5d c3 41 89 ca 41 f7 c1 ff 0f 00 00 74 0c c7 05 f5 46 01 00 16 00 00 00 eb 17 b8 09 00 00 00 0f 05 <48> 3d 00 f0 ff ff 76 0c f7 d8 89 05 dc 46 01 00 48 83 c8 ff c3 0f RSP: 002b:00007ffeae8187d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000009 RAX: ffffffffffffffda RBX: 00007ffeae818888 RCX: 00007f8fe2a71b74 RDX: 0000000000000003 RSI: 0000000000006000 RDI: 00007f8fe2976000 RBP: 00007ffeae818f70 R08: 0000000000000003 R09: 000000000019d000 R10: 0000000000000812 R11: 0000000000000246 R12: 00007f8fe2a4c8d0 R13: 00007ffeae818ff8 R14: 000000000019d264 R15: 0000000000000000 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 0f 85 10 ff ff ff jne 0xffffff16 6: 90 nop 7: 0f 0b ud2 9: 90 nop a: e9 07 ff ff ff jmp 0xffffff16 f: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 15: 90 nop 16: 90 nop 17: 90 nop 18: 90 nop 19: 90 nop 1a: 90 nop 1b: 90 nop 1c: 90 nop 1d: 90 nop 1e: 90 nop 1f: 90 nop 20: 90 nop 21: 90 nop 22: 90 nop 23: 90 nop 24: 90 nop 25: f3 0f 1e fa endbr64 * 29: 83 f9 03 cmp $0x3,%ecx <-- trapping instruction 2c: 0f 87 96 03 00 00 ja 0x3c8 32: 41 57 push %r15 34: 41 56 push %r14 36: 49 89 fe mov %rdi,%r14 39: 41 55 push %r13 3b: 41 54 push %r12 3d: 41 rex.B 3e: 89 .byte 0x89