------------[ 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