find_entry called with index >= next_index ------------[ cut here ]------------ UBSAN: array-index-out-of-bounds in fs/jfs/jfs_dtree.c:1998:37 index -128 is out of range for type 'struct dtslot[128]' CPU: 1 UID: 0 PID: 6834 Comm: syz.2.33 Not tainted syzkaller #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/03/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 ubsan_epilogue+0x14/0x48 lib/ubsan.c:233 __ubsan_handle_out_of_bounds+0xd0/0xfc lib/ubsan.c:455 dtSplitRoot+0x87c/0x12f4 fs/jfs/jfs_dtree.c:1998 dtSplitUp fs/jfs/jfs_dtree.c:993 [inline] dtInsert+0xba0/0x49c0 fs/jfs/jfs_dtree.c:871 jfs_mkdir+0x5a4/0x8b4 fs/jfs/namei.c:270 vfs_mkdir+0x408/0x48c fs/namei.c:5130 do_mkdirat+0x238/0x448 fs/namei.c:5164 __do_sys_mkdirat fs/namei.c:5186 [inline] __se_sys_mkdirat fs/namei.c:5184 [inline] __arm64_sys_mkdirat+0x8c/0xa4 fs/namei.c:5184 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49 el0_svc_common+0xe8/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x5c/0x26c arch/arm64/kernel/entry-common.c:724 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:743 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 ---[ end trace ]--- ================================================================== BUG: KASAN: slab-use-after-free in dtSplitRoot+0x898/0x12f4 fs/jfs/jfs_dtree.c:1999 Read of size 4 at addr ffff0000f9fa101c by task syz.2.33/6834 CPU: 1 UID: 0 PID: 6834 Comm: syz.2.33 Not tainted syzkaller #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/03/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xa8/0x238 mm/kasan/report.c:378 print_report+0x68/0x84 mm/kasan/report.c:482 kasan_report+0xb0/0x110 mm/kasan/report.c:595 __asan_report_load4_noabort+0x20/0x2c mm/kasan/report_generic.c:380 dtSplitRoot+0x898/0x12f4 fs/jfs/jfs_dtree.c:1999 dtSplitUp fs/jfs/jfs_dtree.c:993 [inline] dtInsert+0xba0/0x49c0 fs/jfs/jfs_dtree.c:871 jfs_mkdir+0x5a4/0x8b4 fs/jfs/namei.c:270 vfs_mkdir+0x408/0x48c fs/namei.c:5130 do_mkdirat+0x238/0x448 fs/namei.c:5164 __do_sys_mkdirat fs/namei.c:5186 [inline] __se_sys_mkdirat fs/namei.c:5184 [inline] __arm64_sys_mkdirat+0x8c/0xa4 fs/namei.c:5184 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49 el0_svc_common+0xe8/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x5c/0x26c arch/arm64/kernel/entry-common.c:724 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:743 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 Allocated by task 6561: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:78 kasan_save_alloc_info+0x44/0x54 mm/kasan/generic.c:570 unpoison_slab_object mm/kasan/common.c:340 [inline] __kasan_slab_alloc+0x70/0x88 mm/kasan/common.c:366 kasan_slab_alloc include/linux/kasan.h:253 [inline] slab_post_alloc_hook mm/slub.c:4953 [inline] slab_alloc_node mm/slub.c:5263 [inline] kmem_cache_alloc_noprof+0x344/0x680 mm/slub.c:5270 vm_area_dup+0x34/0x50c mm/vma_init.c:123 __split_vma+0x19c/0x92c mm/vma.c:508 vms_gather_munmap_vmas+0x3f4/0xf5c mm/vma.c:1383 do_vmi_align_munmap+0x1f8/0x32c mm/vma.c:1530 do_vmi_munmap+0x1dc/0x260 mm/vma.c:1587 __vm_munmap+0x200/0x374 mm/vma.c:3203 __do_sys_munmap mm/mmap.c:1077 [inline] __se_sys_munmap mm/mmap.c:1074 [inline] __arm64_sys_munmap+0x64/0x7c mm/mmap.c:1074 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49 el0_svc_common+0xe8/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x5c/0x26c arch/arm64/kernel/entry-common.c:724 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:743 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 Freed by task 6561: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:78 kasan_save_free_info+0x58/0x70 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:253 [inline] __kasan_slab_free+0x74/0xa4 mm/kasan/common.c:285 kasan_slab_free include/linux/kasan.h:235 [inline] slab_free_hook mm/slub.c:2540 [inline] slab_free_after_rcu_debug+0x120/0x2f8 mm/slub.c:6729 rcu_do_batch kernel/rcu/tree.c:2605 [inline] rcu_core+0x848/0x1774 kernel/rcu/tree.c:2857 rcu_core_si+0x10/0x1c kernel/rcu/tree.c:2874 handle_softirqs+0x31c/0xc88 kernel/softirq.c:622 __do_softirq+0x14/0x20 kernel/softirq.c:656 Last potentially related work creation: kasan_save_stack+0x40/0x6c mm/kasan/common.c:57 kasan_record_aux_stack+0xb0/0xc8 mm/kasan/generic.c:556 slab_free_hook mm/slub.c:2501 [inline] slab_free mm/slub.c:6670 [inline] kmem_cache_free+0x4b4/0x6e4 mm/slub.c:6781 vm_area_free+0x108/0x17c mm/vma_init.c:151 remove_vma mm/vma.c:462 [inline] vms_complete_munmap_vmas+0x598/0x7e4 mm/vma.c:1296 do_vmi_align_munmap+0x2e0/0x32c mm/vma.c:1539 do_vmi_munmap+0x1dc/0x260 mm/vma.c:1587 __vm_munmap+0x200/0x374 mm/vma.c:3203 __do_sys_munmap mm/mmap.c:1077 [inline] __se_sys_munmap mm/mmap.c:1074 [inline] __arm64_sys_munmap+0x64/0x7c mm/mmap.c:1074 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49 el0_svc_common+0xe8/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x5c/0x26c arch/arm64/kernel/entry-common.c:724 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:743 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 The buggy address belongs to the object at ffff0000f9fa1000 which belongs to the cache vm_area_struct of size 256 The buggy address is located 28 bytes inside of freed 256-byte region [ffff0000f9fa1000, ffff0000f9fa1100) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x139fa1 memcg:ffff0000cbae6001 flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff) page_type: f5(slab) raw: 05ffc00000000000 ffff0000c18b8b40 dead000000000122 0000000000000000 raw: 0000000000000000 00000000000c000c 00000000f5000000 ffff0000cbae6001 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000f9fa0f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff0000f9fa0f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff0000f9fa1000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000f9fa1080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000f9fa1100: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb ================================================================== find_entry called with index >= next_index ... Log Wrap ... Log Wrap ... Log Wrap ... ... Log Wrap ... Log Wrap ... Log Wrap ... ... Log Wrap ... Log Wrap ... Log Wrap ... ... Log Wrap ... Log Wrap ... Log Wrap ... ... Log Wrap ... Log Wrap ... Log Wrap ... ... Log Wrap ... Log Wrap ... Log Wrap ... ... Log Wrap ... Log Wrap ... Log Wrap ...