------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 3 PID: 15978 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28
Modules linked in:
CPU: 3 UID: 0 PID: 15978 Comm: syz-executor Not tainted syzkaller #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 a8 e5 d7 fc 84 db 0f 85 66 ff ff ff e8 bb ea d7 fc c6 05 b7 23 b0 0b 01 90 48 c7 c7 40 9c 15 8c e8 47 8e 96 fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 98 ea d7 fc 0f b6 1d 92 23 b0 0b 31
RSP: 0018:ffffc900006f8d88 EFLAGS: 00010086
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817a3388
RDX: ffff8880246e4880 RSI: ffffffff817a3395 RDI: 0000000000000001
RBP: ffff88802539dcb8 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88802539dcb8
R13: ffff888045419c00 R14: 0000000000000015 R15: 1ffff1102001380c
FS: 0000555580101500(0000) GS:ffff8880d69b5000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555580124608 CR3: 00000000500e2000 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:404
req_done+0x1dc/0x2e0 net/9p/trans_virtio.c:147
vring_interrupt drivers/virtio/virtio_ring.c:2719 [inline]
vring_interrupt+0x31b/0x400 drivers/virtio/virtio_ring.c:2694
__handle_irq_event_percpu+0x22c/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+0x3ca/0x9e0 kernel/irq/chip.c:855
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:310 [inline]
__common_interrupt+0xcd/0x2f0 arch/x86/kernel/irq.c:325
common_interrupt+0xba/0xe0 arch/x86/kernel/irq.c:318
asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693
RIP: 0010:lock_acquire+0x62/0x350 kernel/locking/lockdep.c:5872
Code: e6 3e 12 83 f8 07 0f 87 bc 02 00 00 89 c0 48 0f a3 05 22 a2 13 0f 0f 82 74 02 00 00 8b 35 da d3 13 0f 85 f6 0f 85 8d 00 00 00 <48> 8b 44 24 30 65 48 2b 05 79 e6 3e 12 0f 85 c7 02 00 00 48 83 c4
RSP: 0018:ffffc90005be7550 EFLAGS: 00000206
RAX: 0000000000000046 RBX: ffffffff8e5c1260 RCX: 0000000017f1a35e
RDX: 0000000000000000 RSI: ffffffff8de2cda8 RDI: ffffffff8c162d80
RBP: 0000000000000002 R08: 34e445e6eb5032d6 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
rcu_read_lock include/linux/rcupdate.h:841 [inline]
class_rcu_constructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0xd1/0x20a0 arch/x86/kernel/unwind_orc.c:479
__unwind_start+0x45f/0x7f0 arch/x86/kernel/unwind_orc.c:758
unwind_start arch/x86/include/asm/unwind.h:64 [inline]
arch_stack_walk+0x73/0x100 arch/x86/kernel/stacktrace.c:24
stack_trace_save+0x8e/0xc0 kernel/stacktrace.c:122
kasan_save_stack+0x33/0x60 mm/kasan/common.c:47
kasan_save_track+0x14/0x30 mm/kasan/common.c:68
kasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:243 [inline]
__kasan_slab_free+0x60/0x70 mm/kasan/common.c:275
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2422 [inline]
slab_free mm/slub.c:4695 [inline]
kfree+0x2b4/0x4d0 mm/slub.c:4894
tomoyo_path_perm+0x29a/0x460 security/tomoyo/file.c:842
security_inode_getattr+0x116/0x290 security/security.c:2377
vfs_getattr fs/stat.c:259 [inline]
vfs_statx_path fs/stat.c:299 [inline]
vfs_statx+0x121/0x3f0 fs/stat.c:356
vfs_fstatat+0x7b/0xf0 fs/stat.c:375
__do_sys_newfstatat+0x97/0x120 fs/stat.c:542
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xcd/0x4c0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff0a8b8d3fa
Code: 48 89 f2 b9 00 01 00 00 48 89 fe bf 9c ff ff ff e9 0b 00 00 00 66 2e 0f 1f 84 00 00 00 00 00 90 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 07 31 c0 c3 0f 1f 40 00 48 c7 c2 a8 ff ff ff f7
RSP: 002b:00007ffe0bbc42b8 EFLAGS: 00000286 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff0a8b8d3fa
RDX: 00007ffe0bbc42e0 RSI: 00007ffe0bbc4370 RDI: 00000000ffffff9c
RBP: 00007ffe0bbc4370 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000100 R11: 0000000000000286 R12: 00007ffe0bbc5400
R13: 00007ff0a8c11c05 R14: 000000000007db66 R15: 00007ffe0bbc5440
----------------
Code disassembly (best guess):
0: e6 3e out %al,$0x3e
2: 12 83 f8 07 0f 87 adc -0x78f0f808(%rbx),%al
8: bc 02 00 00 89 mov $0x89000002,%esp
d: c0 48 0f a3 rorb $0xa3,0xf(%rax)
11: 05 22 a2 13 0f add $0xf13a222,%eax
16: 0f 82 74 02 00 00 jb 0x290
1c: 8b 35 da d3 13 0f mov 0xf13d3da(%rip),%esi # 0xf13d3fc
22: 85 f6 test %esi,%esi
24: 0f 85 8d 00 00 00 jne 0xb7
* 2a: 48 8b 44 24 30 mov 0x30(%rsp),%rax <-- trapping instruction
2f: 65 48 2b 05 79 e6 3e sub %gs:0x123ee679(%rip),%rax # 0x123ee6b0
36: 12
37: 0f 85 c7 02 00 00 jne 0x304
3d: 48 rex.W
3e: 83 .byte 0x83
3f: c4 .byte 0xc4