================================================================== BUG: KASAN: slab-out-of-bounds in ext4_htree_fill_tree+0x1066/0x10d0 fs/ext4/namei.c:1221 Read of size 1 at addr ffff8881174b2a67 by task syz-executor/466 CPU: 1 PID: 466 Comm: syz-executor Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Call Trace: __dump_stack+0x21/0x24 lib/dump_stack.c:77 dump_stack_lvl+0x169/0x1d8 lib/dump_stack.c:118 print_address_description+0x7f/0x2c0 mm/kasan/report.c:248 __kasan_report mm/kasan/report.c:435 [inline] kasan_report+0xe2/0x130 mm/kasan/report.c:452 __asan_report_load1_noabort+0x14/0x20 mm/kasan/report_generic.c:306 ext4_htree_fill_tree+0x1066/0x10d0 fs/ext4/namei.c:1221 ext4_dx_readdir fs/ext4/dir.c:601 [inline] ext4_readdir+0x2b45/0x39b0 fs/ext4/dir.c:145 iterate_dir+0x260/0x570 fs/readdir.c:-1 __do_sys_getdents64 fs/readdir.c:369 [inline] __se_sys_getdents64+0xe5/0x240 fs/readdir.c:354 __x64_sys_getdents64+0x7b/0x90 fs/readdir.c:354 do_syscall_64+0x31/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7f01102f4193 Code: c1 66 0f 1f 44 00 00 48 83 c4 08 48 89 ef 5b 5d e9 42 43 f8 ff 66 90 b8 ff ff ff 7f 48 39 c2 48 0f 47 d0 b8 d9 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 05 c3 0f 1f 40 00 48 c7 c2 a8 ff ff ff f7 d8 RSP: 002b:00007ffcd22f2c78 EFLAGS: 00000293 ORIG_RAX: 00000000000000d9 RAX: ffffffffffffffda RBX: 0000555584c4b4e0 RCX: 00007f01102f4193 RDX: 0000000000008000 RSI: 0000555584c4b4e0 RDI: 0000000000000005 RBP: 0000555584c4b4b4 R08: 0000000000028b61 R09: 0000000000000000 R10: 00007f011044fca0 R11: 0000000000000293 R12: ffffffffffffffa8 R13: 0000000000000010 R14: 0000555584c4b4b0 R15: 00007ffcd22f4f20 Allocated by task 105: kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track mm/kasan/common.c:45 [inline] set_alloc_info mm/kasan/common.c:430 [inline] __kasan_slab_alloc+0xbd/0xf0 mm/kasan/common.c:463 kasan_slab_alloc include/linux/kasan.h:244 [inline] slab_post_alloc_hook+0x5d/0x2f0 mm/slab.h:580 slab_alloc_node mm/slub.c:2952 [inline] slab_alloc mm/slub.c:2960 [inline] kmem_cache_alloc+0x165/0x2e0 mm/slub.c:2965 kmem_cache_zalloc include/linux/slab.h:657 [inline] __alloc_file+0x28/0x320 fs/file_table.c:101 alloc_empty_file+0x97/0x180 fs/file_table.c:151 path_openat+0xf2/0x3160 fs/namei.c:3503 do_filp_open+0x1b3/0x3e0 fs/namei.c:3544 do_sys_openat2+0x14c/0x6d0 fs/open.c:1219 do_sys_open fs/open.c:1235 [inline] __do_sys_openat fs/open.c:1251 [inline] __se_sys_openat fs/open.c:1246 [inline] __x64_sys_openat+0x136/0x160 fs/open.c:1246 do_syscall_64+0x31/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x61/0xcb Freed by task 99: kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track+0x4a/0x70 mm/kasan/common.c:45 kasan_set_free_info+0x23/0x40 mm/kasan/generic.c:370 ____kasan_slab_free+0x125/0x160 mm/kasan/common.c:362 __kasan_slab_free+0x11/0x20 mm/kasan/common.c:370 kasan_slab_free include/linux/kasan.h:220 [inline] slab_free_hook mm/slub.c:1600 [inline] slab_free_freelist_hook+0xc5/0x190 mm/slub.c:1626 slab_free mm/slub.c:3208 [inline] kmem_cache_free+0x100/0x2d0 mm/slub.c:3224 file_free_rcu+0x93/0xa0 fs/file_table.c:50 rcu_do_batch+0x4df/0xa80 kernel/rcu/tree.c:2494 rcu_core+0x55f/0xd60 kernel/rcu/tree.c:2735 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2748 __do_softirq+0x255/0x563 kernel/softirq.c:309 Last potentially related work creation: kasan_save_stack+0x3a/0x60 mm/kasan/common.c:38 __kasan_record_aux_stack+0xd2/0x100 mm/kasan/generic.c:348 kasan_record_aux_stack_noalloc+0xb/0x10 mm/kasan/generic.c:358 __call_rcu kernel/rcu/tree.c:2980 [inline] call_rcu+0x10e/0x1050 kernel/rcu/tree.c:3054 file_free fs/file_table.c:58 [inline] __fput+0x5ad/0x770 fs/file_table.c:299 ____fput+0x15/0x20 fs/file_table.c:314 task_work_run+0x127/0x190 kernel/task_work.c:189 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_user_mode_loop+0xcb/0xe0 kernel/entry/common.c:172 exit_to_user_mode_prepare+0x76/0xa0 kernel/entry/common.c:199 syscall_exit_to_user_mode+0x1d/0x40 kernel/entry/common.c:274 do_syscall_64+0x3d/0x40 arch/x86/entry/common.c:56 entry_SYSCALL_64_after_hwframe+0x61/0xcb Second to last potentially related work creation: kasan_save_stack+0x3a/0x60 mm/kasan/common.c:38 __kasan_record_aux_stack+0xd2/0x100 mm/kasan/generic.c:348 kasan_record_aux_stack+0xe/0x10 mm/kasan/generic.c:353 task_work_add+0x27/0x1e0 kernel/task_work.c:38 fput_many+0xe7/0x1a0 fs/file_table.c:342 fput+0x1a/0x20 fs/file_table.c:358 filp_close+0x105/0x150 fs/open.c:1335 __close_fd+0x35/0x50 fs/file.c:702 __do_sys_close fs/open.c:1348 [inline] __se_sys_close fs/open.c:1346 [inline] __x64_sys_close+0x66/0xb0 fs/open.c:1346 do_syscall_64+0x31/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x61/0xcb The buggy address belongs to the object at ffff8881174b2900 which belongs to the cache filp of size 296 The buggy address is located 63 bytes to the right of 296-byte region [ffff8881174b2900, ffff8881174b2a28) The buggy address belongs to the page: page:ffffea00045d2c80 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1174b2 head:ffffea00045d2c80 order:1 compound_mapcount:0 flags: 0x4000000000010200(slab|head) raw: 4000000000010200 dead000000000100 dead000000000122 ffff88810018a000 raw: 0000000000000000 0000000000150015 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 1, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 105, ts 4492129317, free_ts 0 set_page_owner include/linux/page_owner.h:35 [inline] post_alloc_hook mm/page_alloc.c:2456 [inline] prep_new_page+0x179/0x180 mm/page_alloc.c:2462 get_page_from_freelist+0x2235/0x23d0 mm/page_alloc.c:4254 __alloc_pages_nodemask+0x268/0x5f0 mm/page_alloc.c:5370 alloc_slab_page mm/slub.c:-1 [inline] allocate_slab mm/slub.c:1813 [inline] new_slab+0x84/0x3f0 mm/slub.c:1874 new_slab_objects mm/slub.c:2632 [inline] ___slab_alloc+0x2a6/0x450 mm/slub.c:2796 __slab_alloc+0x63/0xa0 mm/slub.c:2836 slab_alloc_node mm/slub.c:2918 [inline] slab_alloc mm/slub.c:2960 [inline] kmem_cache_alloc+0x1af/0x2e0 mm/slub.c:2965 kmem_cache_zalloc include/linux/slab.h:657 [inline] __alloc_file+0x28/0x320 fs/file_table.c:101 alloc_empty_file+0x97/0x180 fs/file_table.c:151 path_openat+0xf2/0x3160 fs/namei.c:3503 do_filp_open+0x1b3/0x3e0 fs/namei.c:3544 do_sys_openat2+0x14c/0x6d0 fs/open.c:1219 do_sys_open fs/open.c:1235 [inline] __do_sys_openat fs/open.c:1251 [inline] __se_sys_openat fs/open.c:1246 [inline] __x64_sys_openat+0x136/0x160 fs/open.c:1246 do_syscall_64+0x31/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x61/0xcb page_owner free stack trace missing Memory state around the buggy address: ffff8881174b2900: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881174b2980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881174b2a00: fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc ^ ffff8881174b2a80: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881174b2b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================