------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 3 PID: 24512 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Modules linked in: CPU: 3 UID: 0 PID: 24512 Comm: modprobe Not tainted 6.14.0-rc2-syzkaller-00346-gba643b6d8440 #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 68 58 f5 fc 84 db 0f 85 66 ff ff ff e8 bb 5d f5 fc c6 05 d7 5b 86 0b 01 90 48 c7 c7 c0 00 d3 8b e8 f7 96 b5 fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 98 5d f5 fc 0f b6 1d b2 5b 86 0b 31 RSP: 0018:ffffc90000708d90 EFLAGS: 00010082 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817a1229 RDX: ffff88802acf4880 RSI: ffffffff817a1236 RDI: 0000000000000001 RBP: ffff88802b3ab218 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000002 R12: ffff88802b3ab218 R13: ffff8880461efc00 R14: 0000000000000015 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88806a900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fbffb076270 CR3: 0000000024be6000 CR4: 0000000000352ef0 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+0xba/0xe0 arch/x86/kernel/irq.c:278 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0x31/0x80 kernel/locking/spinlock.c:194 Code: f5 53 48 8b 74 24 10 48 89 fb 48 83 c7 18 e8 a6 09 3d f6 48 89 df e8 fe 88 3d f6 f7 c5 00 02 00 00 75 23 9c 58 f6 c4 02 75 37 01 00 00 00 e8 85 5f 2e f6 65 8b 05 a6 43 aa 74 85 c0 74 16 5b RSP: 0018:ffffc9000423f528 EFLAGS: 00000246 RAX: 0000000000000006 RBX: ffffffff9aa2aa48 RCX: 1ffffffff20c4051 RDX: 0000000000000000 RSI: ffffffff8b6ceca0 RDI: ffffffff8bd353c0 RBP: 0000000000000206 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff90624617 R11: 0000000000000002 R12: 000000000000013c R13: 0000000000000001 R14: dffffc0000000000 R15: 0000000000000206 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] avc_reclaim_node security/selinux/avc.c:488 [inline] avc_alloc_node+0x365/0x5a0 security/selinux/avc.c:507 avc_insert security/selinux/avc.c:618 [inline] avc_compute_av+0xfd/0x5c0 security/selinux/avc.c:993 avc_perm_nonode+0xaa/0x180 security/selinux/avc.c:1117 avc_has_perm_noaudit+0x2d2/0x3a0 security/selinux/avc.c:1160 avc_has_perm+0xc1/0x1c0 security/selinux/avc.c:1195 selinux_inode_follow_link+0x221/0x2c0 security/selinux/hooks.c:3074 security_inode_follow_link+0xe5/0x290 security/security.c:2303 pick_link fs/namei.c:1903 [inline] step_into+0xb1c/0x2220 fs/namei.c:1984 walk_component+0xfc/0x5b0 fs/namei.c:2120 link_path_walk.part.0.constprop.0+0x669/0xd40 fs/namei.c:2479 link_path_walk fs/namei.c:2410 [inline] path_lookupat+0x93/0x770 fs/namei.c:2635 filename_lookup+0x221/0x5f0 fs/namei.c:2665 vfs_statx+0xf9/0x210 fs/stat.c:346 vfs_fstatat+0x7b/0xf0 fs/stat.c:368 __do_sys_newfstatat+0xa2/0x130 fs/stat.c:532 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fbffb31d8a9 Code: 49 01 00 09 00 00 00 83 c8 ff c3 48 89 f2 b9 00 01 00 00 48 89 fe bf 9c ff ff ff e9 00 00 00 00 41 89 ca b8 06 01 00 00 0f 05 <45> 31 c0 3d 00 f0 ff ff 76 0c f7 d8 41 83 c8 ff 89 05 a1 49 01 00 RSP: 002b:00007ffd1e01c3d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000106 RAX: ffffffffffffffda RBX: 00007fbffb2fa338 RCX: 00007fbffb31d8a9 RDX: 00007ffd1e01c480 RSI: 00007ffd1e01c3e0 RDI: 00000000ffffff9c RBP: 00007ffd1e01c540 R08: 0000000000080000 R09: 00007ffd1e01c3e0 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd1e01c3e0 R13: 0000000000000001 R14: 00007fbffb32fa40 R15: 00000000ffffffff ---------------- Code disassembly (best guess): 0: f5 cmc 1: 53 push %rbx 2: 48 8b 74 24 10 mov 0x10(%rsp),%rsi 7: 48 89 fb mov %rdi,%rbx a: 48 83 c7 18 add $0x18,%rdi e: e8 a6 09 3d f6 call 0xf63d09b9 13: 48 89 df mov %rbx,%rdi 16: e8 fe 88 3d f6 call 0xf63d8919 1b: f7 c5 00 02 00 00 test $0x200,%ebp 21: 75 23 jne 0x46 23: 9c pushf 24: 58 pop %rax 25: f6 c4 02 test $0x2,%ah 28: 75 37 jne 0x61 * 2a: bf 01 00 00 00 mov $0x1,%edi <-- trapping instruction 2f: e8 85 5f 2e f6 call 0xf62e5fb9 34: 65 8b 05 a6 43 aa 74 mov %gs:0x74aa43a6(%rip),%eax # 0x74aa43e1 3b: 85 c0 test %eax,%eax 3d: 74 16 je 0x55 3f: 5b pop %rbx