==================================================================
BUG: KASAN: slab-use-after-free in ocfs2_fault+0xe9/0x3d0 fs/ocfs2/mmap.c:41
Read of size 8 at addr ffff88807a5abf08 by task syz.4.90/6506

CPU: 0 UID: 0 PID: 6506 Comm: syz.4.90 Not tainted 6.13.0-rc2-syzkaller-00159-gf932fb9b4074 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/25/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0x169/0x550 mm/kasan/report.c:489
 kasan_report+0x143/0x180 mm/kasan/report.c:602
 ocfs2_fault+0xe9/0x3d0 fs/ocfs2/mmap.c:41
 __do_fault+0x135/0x390 mm/memory.c:4907
 do_read_fault mm/memory.c:5322 [inline]
 do_fault mm/memory.c:5456 [inline]
 do_pte_missing mm/memory.c:3979 [inline]
 handle_pte_fault+0x39eb/0x5ed0 mm/memory.c:5801
 __handle_mm_fault mm/memory.c:5944 [inline]
 handle_mm_fault+0x1053/0x1ad0 mm/memory.c:6112
 do_user_addr_fault arch/x86/mm/fault.c:1389 [inline]
 handle_page_fault arch/x86/mm/fault.c:1481 [inline]
 exc_page_fault+0x2b9/0x8b0 arch/x86/mm/fault.c:1539
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623
RIP: 0010:fault_in_readable+0x173/0x2d0 mm/gup.c:2244
Code: 00 fc ff df 4c 89 e8 4f 8d ac 25 ff 0f 00 00 49 81 e5 00 f0 ff ff 49 39 c5 72 7a e8 e7 da b7 ff 4c 39 eb 74 7d 4c 89 64 24 08 <44> 8a 23 43 0f b6 04 3e 84 c0 75 18 44 88 64 24 40 48 81 c3 00 10
RSP: 0018:ffffc9000450f7c0 EFLAGS: 00050287
RAX: ffffffff81e78309 RBX: 0000000020002000 RCX: 0000000000080000
RDX: ffffc9000cd3a000 RSI: 0000000000002cf3 RDI: 0000000000002cf4
RBP: ffffc9000450f878 R08: ffffffff81e7829c R09: ffffffff84b7a909
R10: 0000000000000002 R11: ffff88801f70da00 R12: 0000000000000200
R13: 0000000020003000 R14: 1ffff920008a1f00 R15: dffffc0000000000
 fault_in_iov_iter_readable+0x229/0x280 lib/iov_iter.c:94
 generic_perform_write+0x260/0x990 mm/filemap.c:4045
 ocfs2_file_write_iter+0x19af/0x2180 fs/ocfs2/file.c:2469
 new_sync_write fs/read_write.c:586 [inline]
 vfs_write+0xaeb/0xd30 fs/read_write.c:679
 ksys_write+0x18f/0x2b0 fs/read_write.c:731
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fc0c1785d19
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fc0c2615038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fc0c1975fa0 RCX: 00007fc0c1785d19
RDX: 00000000175d9003 RSI: 0000000020000200 RDI: 0000000000000004
RBP: 00007fc0c1801a20 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fc0c1975fa0 R15: 00007fff8e48e458
 </TASK>

Allocated by task 6506:
 kasan_save_stack mm/kasan/common.c:47 [inline]
 kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
 unpoison_slab_object mm/kasan/common.c:319 [inline]
 __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345
 kasan_slab_alloc include/linux/kasan.h:250 [inline]
 slab_post_alloc_hook mm/slub.c:4104 [inline]
 slab_alloc_node mm/slub.c:4153 [inline]
 kmem_cache_alloc_noprof+0x1d9/0x380 mm/slub.c:4160
 vm_area_alloc+0x24/0x1d0 kernel/fork.c:472
 __mmap_new_vma mm/vma.c:2340 [inline]
 __mmap_region+0x196e/0x2cd0 mm/vma.c:2456
 mmap_region+0x226/0x2c0 mm/mmap.c:1348
 do_mmap+0x8f0/0x1000 mm/mmap.c:496
 vm_mmap_pgoff+0x1dd/0x3d0 mm/util.c:580
 ksys_mmap_pgoff+0x4eb/0x720 mm/mmap.c:542
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Freed by task 16:
 kasan_save_stack mm/kasan/common.c:47 [inline]
 kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582
 poison_slab_object mm/kasan/common.c:247 [inline]
 __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264
 kasan_slab_free include/linux/kasan.h:233 [inline]
 slab_free_hook mm/slub.c:2338 [inline]
 slab_free mm/slub.c:4598 [inline]
 kmem_cache_free+0x195/0x410 mm/slub.c:4700
 rcu_do_batch kernel/rcu/tree.c:2567 [inline]
 rcu_core+0xaaa/0x17a0 kernel/rcu/tree.c:2823
 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561
 run_ksoftirqd+0xca/0x130 kernel/softirq.c:950
 smpboot_thread_fn+0x544/0xa30 kernel/smpboot.c:164
 kthread+0x2f0/0x390 kernel/kthread.c:389
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

Last potentially related work creation:
 kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47
 __kasan_record_aux_stack+0xac/0xc0 mm/kasan/generic.c:544
 __call_rcu_common kernel/rcu/tree.c:3086 [inline]
 call_rcu+0x167/0xa70 kernel/rcu/tree.c:3190
 remove_vma mm/vma.c:387 [inline]
 vms_complete_munmap_vmas+0x65b/0x8f0 mm/vma.c:1201
 __mmap_complete mm/vma.c:2406 [inline]
 __mmap_region+0x17e3/0x2cd0 mm/vma.c:2469
 mmap_region+0x1d0/0x2c0 mm/mmap.c:1348
 do_mmap+0x8f0/0x1000 mm/mmap.c:496
 vm_mmap_pgoff+0x1dd/0x3d0 mm/util.c:580
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

The buggy address belongs to the object at ffff88807a5abe88
 which belongs to the cache vm_area_struct of size 184
The buggy address is located 128 bytes inside of
 freed 184-byte region [ffff88807a5abe88, ffff88807a5abf40)

The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7a5ab
memcg:ffff88803319ba01
ksm flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 00fff00000000000 ffff88801bafeb40 ffffea0001e30500 dead00000000000b
raw: 0000000000000000 0000000000100010 00000001f5000000 ffff88803319ba01
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x52cc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 5583, tgid 5583 (dhcpcd-run-hook), ts 51482957976, free_ts 51482802152
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x1f3/0x230 mm/page_alloc.c:1556
 prep_new_page mm/page_alloc.c:1564 [inline]
 get_page_from_freelist+0x3651/0x37a0 mm/page_alloc.c:3474
 __alloc_pages_noprof+0x292/0x710 mm/page_alloc.c:4751
 alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2269
 alloc_slab_page+0x6a/0x110 mm/slub.c:2408
 allocate_slab+0x5a/0x2b0 mm/slub.c:2574
 new_slab mm/slub.c:2627 [inline]
 ___slab_alloc+0xc27/0x14a0 mm/slub.c:3815
 __slab_alloc+0x58/0xa0 mm/slub.c:3905
 __slab_alloc_node mm/slub.c:3980 [inline]
 slab_alloc_node mm/slub.c:4141 [inline]
 kmem_cache_alloc_noprof+0x268/0x380 mm/slub.c:4160
 vm_area_dup+0x27/0x290 kernel/fork.c:487
 __split_vma+0x1cb/0xc50 mm/vma.c:434
 vms_gather_munmap_vmas+0x2e6/0x1600 mm/vma.c:1267
 do_vmi_align_munmap+0x3ff/0x6f0 mm/vma.c:1435
 do_vmi_munmap+0x24e/0x2d0 mm/vma.c:1492
 __vm_munmap+0x24c/0x480 mm/mmap.c:1368
 elf_map fs/binfmt_elf.c:389 [inline]
 elf_load+0x2d6/0x700 fs/binfmt_elf.c:414
page last free pid 5583 tgid 5583 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1127 [inline]
 free_unref_folios+0xe23/0x1890 mm/page_alloc.c:2704
 folios_put_refs+0x76c/0x860 mm/swap.c:962
 free_pages_and_swap_cache+0x5c8/0x690 mm/swap_state.c:335
 __tlb_batch_free_encoded_pages mm/mmu_gather.c:136 [inline]
 tlb_batch_pages_flush mm/mmu_gather.c:149 [inline]
 tlb_flush_mmu_free mm/mmu_gather.c:366 [inline]
 tlb_flush_mmu+0x3a3/0x680 mm/mmu_gather.c:373
 tlb_finish_mmu+0xd4/0x200 mm/mmu_gather.c:465
 relocate_vma_down+0x504/0x600 mm/mmap.c:2125
 setup_arg_pages+0x668/0xc10 fs/exec.c:810
 load_elf_binary+0xb62/0x2770 fs/binfmt_elf.c:1020
 search_binary_handler fs/exec.c:1748 [inline]
 exec_binprm fs/exec.c:1790 [inline]
 bprm_execve+0xaf5/0x17a0 fs/exec.c:1842
 do_execveat_common+0x55f/0x6f0 fs/exec.c:1949
 do_execve fs/exec.c:2023 [inline]
 __do_sys_execve fs/exec.c:2099 [inline]
 __se_sys_execve fs/exec.c:2094 [inline]
 __x64_sys_execve+0x92/0xb0 fs/exec.c:2094
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Memory state around the buggy address:
 ffff88807a5abe00: 00 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc
 ffff88807a5abe80: fc fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff88807a5abf00: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
                      ^
 ffff88807a5abf80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff88807a5ac000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
----------------
Code disassembly (best guess), 3 bytes skipped:
   0:	df 4c 89 e8          	fisttps -0x18(%rcx,%rcx,4)
   4:	4f 8d ac 25 ff 0f 00 	lea    0xfff(%r13,%r12,1),%r13
   b:	00
   c:	49 81 e5 00 f0 ff ff 	and    $0xfffffffffffff000,%r13
  13:	49 39 c5             	cmp    %rax,%r13
  16:	72 7a                	jb     0x92
  18:	e8 e7 da b7 ff       	call   0xffb7db04
  1d:	4c 39 eb             	cmp    %r13,%rbx
  20:	74 7d                	je     0x9f
  22:	4c 89 64 24 08       	mov    %r12,0x8(%rsp)
* 27:	44 8a 23             	mov    (%rbx),%r12b <-- trapping instruction
  2a:	43 0f b6 04 3e       	movzbl (%r14,%r15,1),%eax
  2f:	84 c0                	test   %al,%al
  31:	75 18                	jne    0x4b
  33:	44 88 64 24 40       	mov    %r12b,0x40(%rsp)
  38:	48                   	rex.W
  39:	81                   	.byte 0x81
  3a:	c3                   	ret
  3b:	00 10                	add    %dl,(%rax)