================================================================== BUG: KASAN: use-after-free in ext4_search_dir+0xf7/0x1b0 fs/ext4/namei.c:1516 Read of size 1 at addr ffff888115323900 by task syz.7.4921/16282 CPU: 0 PID: 16282 Comm: syz.7.4921 Not tainted 5.10.226-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack_lvl+0x1e2/0x24b lib/dump_stack.c:118 print_address_description+0x81/0x3b0 mm/kasan/report.c:248 __kasan_report mm/kasan/report.c:435 [inline] kasan_report+0x179/0x1c0 mm/kasan/report.c:452 __asan_report_load1_noabort+0x14/0x20 mm/kasan/report_generic.c:306 ext4_search_dir+0xf7/0x1b0 fs/ext4/namei.c:1516 ext4_find_inline_entry+0x4b6/0x5e0 fs/ext4/inline.c:1700 __ext4_find_entry+0x2b0/0x1990 fs/ext4/namei.c:1589 ext4_lookup_entry fs/ext4/namei.c:1744 [inline] ext4_lookup+0x3c6/0xaa0 fs/ext4/namei.c:1812 __lookup_hash+0x143/0x290 fs/namei.c:1541 filename_create+0x202/0x750 fs/namei.c:3608 user_path_create fs/namei.c:3665 [inline] do_mkdirat+0xcc/0x2c0 fs/namei.c:3805 __do_sys_mkdirat fs/namei.c:3823 [inline] __se_sys_mkdirat fs/namei.c:3821 [inline] __x64_sys_mkdirat+0x7b/0x90 fs/namei.c:3821 do_syscall_64+0x34/0x70 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7fd8b17c8fb7 Code: 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 02 01 00 00 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:00007fd8b0442e68 EFLAGS: 00000246 ORIG_RAX: 0000000000000102 RAX: ffffffffffffffda RBX: 00007fd8b0442ef0 RCX: 00007fd8b17c8fb7 RDX: 00000000000001ff RSI: 0000000020000080 RDI: 00000000ffffff9c RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000080 R13: 00007fd8b0442eb0 R14: 0000000000000000 R15: 0000000000000000 The buggy address belongs to the page: page:ffffea000454c8c0 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x115323 flags: 0x4000000000000000() raw: 4000000000000000 ffffea000454c908 ffffea000438e608 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 0, migratetype Unmovable, gfp_mask 0x102dc2(GFP_HIGHUSER|__GFP_NOWARN|__GFP_ZERO), pid 16268, ts 684704462348, free_ts 684706754216 set_page_owner include/linux/page_owner.h:35 [inline] post_alloc_hook mm/page_alloc.c:2456 [inline] prep_new_page+0x166/0x180 mm/page_alloc.c:2462 get_page_from_freelist+0x2d8c/0x2f30 mm/page_alloc.c:4254 __alloc_pages_nodemask+0x435/0xaf0 mm/page_alloc.c:5348 __vmalloc_node_range+0x36c/0x7c0 mm/vmalloc.c:2622 alloc_thread_stack_node kernel/fork.c:253 [inline] dup_task_struct+0x429/0xc30 kernel/fork.c:916 copy_process+0x5c8/0x3340 kernel/fork.c:2016 kernel_clone+0x21e/0x9e0 kernel/fork.c:2574 __do_sys_clone3 kernel/fork.c:2858 [inline] __se_sys_clone3 kernel/fork.c:2842 [inline] __x64_sys_clone3+0x376/0x3a0 kernel/fork.c:2842 do_syscall_64+0x34/0x70 entry_SYSCALL_64_after_hwframe+0x61/0xcb page last free stack trace: reset_page_owner include/linux/page_owner.h:28 [inline] free_pages_prepare mm/page_alloc.c:1349 [inline] free_pcp_prepare mm/page_alloc.c:1421 [inline] free_unref_page_prepare+0x2ae/0x2d0 mm/page_alloc.c:3336 free_unref_page mm/page_alloc.c:3391 [inline] free_the_page+0x9e/0x370 mm/page_alloc.c:5407 __free_pages+0x67/0xc0 mm/page_alloc.c:5418 __vunmap+0x7bc/0x8f0 mm/vmalloc.c:2301 free_work+0x5b/0x80 mm/vmalloc.c:69 process_one_work+0x6dc/0xbd0 kernel/workqueue.c:2301 worker_thread+0xaea/0x1510 kernel/workqueue.c:2447 kthread+0x34b/0x3d0 kernel/kthread.c:313 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 Memory state around the buggy address: ffff888115323800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff888115323880: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff888115323900: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff888115323980: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff888115323a00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== EXT4-fs error (device loop7): ext4_find_dest_de:2077: inode #12: block 7: comm syz.7.4921: bad entry in directory: directory entry overrun - offset=0, inode=1793120026, rec_len=34652, size=56 fake=0