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