================================================================== BUG: KASAN: use-after-free in instrument_atomic_read_write include/linux/instrumented.h:101 [inline] BUG: KASAN: use-after-free in atomic_fetch_sub_release include/asm-generic/atomic-instrumented.h:220 [inline] BUG: KASAN: use-after-free in __refcount_sub_and_test include/linux/refcount.h:272 [inline] BUG: KASAN: use-after-free in refcount_sub_and_test include/linux/refcount.h:310 [inline] BUG: KASAN: use-after-free in io_put_req_deferred fs/io_uring.c:2248 [inline] BUG: KASAN: use-after-free in io_link_timeout_fn+0x3b1/0x610 fs/io_uring.c:6273 Write of size 4 at addr ffff888045db905c by task syz-executor.7/6715 CPU: 0 PID: 6715 Comm: syz-executor.7 Not tainted 5.10.45 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x107/0x163 lib/dump_stack.c:118 print_address_description.constprop.0+0x1c/0x210 mm/kasan/report.c:385 __kasan_report mm/kasan/report.c:545 [inline] kasan_report.cold+0x37/0x7c mm/kasan/report.c:562 check_memory_region_inline mm/kasan/generic.c:186 [inline] check_memory_region+0xf9/0x1e0 mm/kasan/generic.c:192 instrument_atomic_read_write include/linux/instrumented.h:101 [inline] atomic_fetch_sub_release include/asm-generic/atomic-instrumented.h:220 [inline] __refcount_sub_and_test include/linux/refcount.h:272 [inline] refcount_sub_and_test include/linux/refcount.h:310 [inline] io_put_req_deferred fs/io_uring.c:2248 [inline] io_link_timeout_fn+0x3b1/0x610 fs/io_uring.c:6273 __run_hrtimer kernel/time/hrtimer.c:1537 [inline] __hrtimer_run_queues+0x5e8/0xb40 kernel/time/hrtimer.c:1601 hrtimer_interrupt+0x2fd/0x9b0 kernel/time/hrtimer.c:1663 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1084 [inline] __sysvec_apic_timer_interrupt+0xfb/0x3f0 arch/x86/kernel/apic/apic.c:1101 asm_call_irq_on_stack+0x12/0x20 __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline] run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline] sysvec_apic_timer_interrupt+0x7f/0xa0 arch/x86/kernel/apic/apic.c:1095 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:644 RIP: 0010:compound_head include/linux/page-flags.h:187 [inline] RIP: 0010:PageAnon include/linux/page-flags.h:484 [inline] RIP: 0010:zap_pte_range mm/memory.c:1254 [inline] RIP: 0010:zap_pmd_range mm/memory.c:1368 [inline] RIP: 0010:zap_pud_range mm/memory.c:1397 [inline] RIP: 0010:zap_p4d_range mm/memory.c:1418 [inline] RIP: 0010:unmap_page_range+0xc0c/0x1e30 mm/memory.c:1439 Code: 20 08 48 85 ed 0f 84 6f fe ff ff e8 1e 61 e1 ff 4c 8d 65 08 4c 89 e0 48 c1 e8 03 42 80 3c 30 00 0f 85 dd 0e 00 00 48 8b 45 08 <31> ff 48 89 eb 48 89 c2 48 89 44 24 70 83 e2 01 48 89 d6 48 89 54 RSP: 0018:ffff888046f47770 EFLAGS: 00000246 RAX: dead000000000100 RBX: 0000000000000001 RCX: ffff888046f47a50 RDX: ffff8880171e9940 RSI: ffffffff815e2aa2 RDI: ffff888046f47a68 RBP: ffffea0000ce5480 R08: 0000000000000000 R09: ffff8880171e9947 R10: 0000000000000000 R11: 0000000000000001 R12: ffffea0000ce5488 R13: 00007f8abe49f000 R14: dffffc0000000000 R15: ffff8880462224f0 unmap_single_vma+0x198/0x300 mm/memory.c:1484 unmap_vmas+0x16d/0x2f0 mm/memory.c:1516 exit_mmap+0x27f/0x4e0 mm/mmap.c:3220 __mmput kernel/fork.c:1088 [inline] mmput+0xca/0x340 kernel/fork.c:1109 exit_mm kernel/exit.c:487 [inline] do_exit+0xb42/0x2780 kernel/exit.c:798 do_group_exit+0x125/0x310 kernel/exit.c:908 get_signal+0x469/0x2200 kernel/signal.c:2758 arch_do_signal+0x88/0x1a90 arch/x86/kernel/signal.c:789 exit_to_user_mode_loop kernel/entry/common.c:161 [inline] exit_to_user_mode_prepare+0xf7/0x160 kernel/entry/common.c:191 syscall_exit_to_user_mode+0x38/0x230 kernel/entry/common.c:266 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x466609 Code: Unable to access opcode bytes at RIP 0x4665df. RSP: 002b:00007f8abd08e218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 000000000056bf88 RCX: 0000000000466609 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 000000000056bf88 RBP: 000000000056bf80 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf8c R13: 00007ffe760b8a1f R14: 00007f8abd08e300 R15: 0000000000022000 Allocated by task 6715: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:48 kasan_set_track mm/kasan/common.c:56 [inline] __kasan_kmalloc.constprop.0+0xc2/0xd0 mm/kasan/common.c:461 slab_post_alloc_hook mm/slab.h:533 [inline] kmem_cache_alloc_bulk+0x147/0x320 mm/slub.c:3333 io_alloc_req fs/io_uring.c:1853 [inline] io_submit_sqes+0x11c2/0x2300 fs/io_uring.c:6687 __do_sys_io_uring_enter+0x1092/0x1910 fs/io_uring.c:9100 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Freed by task 6715: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:48 kasan_set_track+0x1c/0x30 mm/kasan/common.c:56 kasan_set_free_info+0x1b/0x30 mm/kasan/generic.c:355 __kasan_slab_free+0x110/0x150 mm/kasan/common.c:422 slab_free_hook mm/slub.c:1541 [inline] slab_free_freelist_hook+0x64/0x150 mm/slub.c:1574 slab_free mm/slub.c:3139 [inline] kmem_cache_free+0x97/0x2f0 mm/slub.c:3155 __io_free_req+0x216/0x310 fs/io_uring.c:1908 io_free_req fs/io_uring.c:2132 [inline] io_double_put_req fs/io_uring.c:2272 [inline] io_put_req+0xab/0x100 fs/io_uring.c:2268 io_link_timeout_fn+0x33c/0x610 fs/io_uring.c:6268 __run_hrtimer kernel/time/hrtimer.c:1537 [inline] __hrtimer_run_queues+0x5e8/0xb40 kernel/time/hrtimer.c:1601 hrtimer_interrupt+0x2fd/0x9b0 kernel/time/hrtimer.c:1663 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1084 [inline] __sysvec_apic_timer_interrupt+0xfb/0x3f0 arch/x86/kernel/apic/apic.c:1101 asm_call_irq_on_stack+0x12/0x20 __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline] run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline] sysvec_apic_timer_interrupt+0x7f/0xa0 arch/x86/kernel/apic/apic.c:1095 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:644 The buggy address belongs to the object at ffff888045db9000 which belongs to the cache io_kiocb of size 216 The buggy address is located 92 bytes inside of 216-byte region [ffff888045db9000, ffff888045db90d8) The buggy address belongs to the page: page:00000000776e7e65 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x45db9 flags: 0x100000000000200(slab) raw: 0100000000000200 dead000000000100 dead000000000122 ffff88800c0ec000 raw: 0000000000000000 00000000800c000c 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888045db8f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888045db8f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888045db9000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888045db9080: fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc fc ffff888045db9100: fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 00 ================================================================== ------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 0 PID: 6715 at lib/refcount.c:28 refcount_warn_saturate+0x103/0x1f0 lib/refcount.c:28 Modules linked in: CPU: 0 PID: 6715 Comm: syz-executor.7 Tainted: G B 5.10.45 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 RIP: 0010:refcount_warn_saturate+0x103/0x1f0 lib/refcount.c:28 Code: 1d f4 a4 54 03 31 ff 89 de e8 f9 73 51 ff 84 db 75 a3 e8 c0 7a 51 ff 48 c7 c7 20 34 3b 84 c6 05 d4 a4 54 03 01 e8 0d 97 c8 01 <0f> 0b eb 87 e8 a4 7a 51 ff 0f b6 1d bd a4 54 03 31 ff 89 de e8 c4 RSP: 0018:ffff88806ce09d30 EFLAGS: 00010082 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff8880171e9940 RSI: ffffffff812943f3 RDI: ffffed100d9c1398 RBP: ffff888045db905c R08: 0000000000000001 R09: ffff88806ce1ff9b R10: 0000000000000000 R11: 0000000000000001 R12: ffff888045db905c R13: 0000000000000001 R14: ffff8880451174c0 R15: ffff888045db9140 FS: 0000000000000000(0000) GS:ffff88806ce00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8abd06cd80 CR3: 0000000042224000 CR4: 0000000000350ef0 Call Trace: __refcount_sub_and_test include/linux/refcount.h:283 [inline] refcount_sub_and_test include/linux/refcount.h:310 [inline] io_put_req_deferred fs/io_uring.c:2248 [inline] io_link_timeout_fn+0x503/0x610 fs/io_uring.c:6273 __run_hrtimer kernel/time/hrtimer.c:1537 [inline] __hrtimer_run_queues+0x5e8/0xb40 kernel/time/hrtimer.c:1601 hrtimer_interrupt+0x2fd/0x9b0 kernel/time/hrtimer.c:1663 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1084 [inline] __sysvec_apic_timer_interrupt+0xfb/0x3f0 arch/x86/kernel/apic/apic.c:1101 asm_call_irq_on_stack+0x12/0x20 __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline] run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline] sysvec_apic_timer_interrupt+0x7f/0xa0 arch/x86/kernel/apic/apic.c:1095 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:644 RIP: 0010:compound_head include/linux/page-flags.h:187 [inline] RIP: 0010:PageAnon include/linux/page-flags.h:484 [inline] RIP: 0010:zap_pte_range mm/memory.c:1254 [inline] RIP: 0010:zap_pmd_range mm/memory.c:1368 [inline] RIP: 0010:zap_pud_range mm/memory.c:1397 [inline] RIP: 0010:zap_p4d_range mm/memory.c:1418 [inline] RIP: 0010:unmap_page_range+0xc0c/0x1e30 mm/memory.c:1439 Code: 20 08 48 85 ed 0f 84 6f fe ff ff e8 1e 61 e1 ff 4c 8d 65 08 4c 89 e0 48 c1 e8 03 42 80 3c 30 00 0f 85 dd 0e 00 00 48 8b 45 08 <31> ff 48 89 eb 48 89 c2 48 89 44 24 70 83 e2 01 48 89 d6 48 89 54 RSP: 0018:ffff888046f47770 EFLAGS: 00000246 RAX: dead000000000100 RBX: 0000000000000001 RCX: ffff888046f47a50 RDX: ffff8880171e9940 RSI: ffffffff815e2aa2 RDI: ffff888046f47a68 RBP: ffffea0000ce5480 R08: 0000000000000000 R09: ffff8880171e9947 R10: 0000000000000000 R11: 0000000000000001 R12: ffffea0000ce5488 R13: 00007f8abe49f000 R14: dffffc0000000000 R15: ffff8880462224f0 unmap_single_vma+0x198/0x300 mm/memory.c:1484 unmap_vmas+0x16d/0x2f0 mm/memory.c:1516 exit_mmap+0x27f/0x4e0 mm/mmap.c:3220 __mmput kernel/fork.c:1088 [inline] mmput+0xca/0x340 kernel/fork.c:1109 exit_mm kernel/exit.c:487 [inline] do_exit+0xb42/0x2780 kernel/exit.c:798 do_group_exit+0x125/0x310 kernel/exit.c:908 get_signal+0x469/0x2200 kernel/signal.c:2758 arch_do_signal+0x88/0x1a90 arch/x86/kernel/signal.c:789 exit_to_user_mode_loop kernel/entry/common.c:161 [inline] exit_to_user_mode_prepare+0xf7/0x160 kernel/entry/common.c:191 syscall_exit_to_user_mode+0x38/0x230 kernel/entry/common.c:266 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x466609 Code: Unable to access opcode bytes at RIP 0x4665df. RSP: 002b:00007f8abd08e218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 000000000056bf88 RCX: 0000000000466609 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 000000000056bf88 RBP: 000000000056bf80 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf8c R13: 00007ffe760b8a1f R14: 00007f8abd08e300 R15: 0000000000022000 irq event stamp: 1882 hardirqs last enabled at (1881): [] rmqueue_pcplist mm/page_alloc.c:3418 [inline] hardirqs last enabled at (1881): [] rmqueue mm/page_alloc.c:3441 [inline] hardirqs last enabled at (1881): [] get_page_from_freelist+0x1db3/0x2ff0 mm/page_alloc.c:3906 hardirqs last disabled at (1882): [] sysvec_apic_timer_interrupt+0xb/0xa0 arch/x86/kernel/apic/apic.c:1095 softirqs last enabled at (1872): [] asm_call_irq_on_stack+0x12/0x20 softirqs last disabled at (1817): [] asm_call_irq_on_stack+0x12/0x20 ---[ end trace a4b373e35b577e0e ]--- EXT4-fs (loop5): VFS: Can't find ext4 filesystem EXT4-fs (loop5): VFS: Can't find ext4 filesystem FAT-fs (loop5): Unrecognized mount option "shortname=mixe" or missing value FAT-fs (loop5): Unrecognized mount option "shortname=mixe" or missing value EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue