================================================================================
UBSAN: array-index-out-of-bounds in fs/jfs/jfs_dtree.c:3392:10
index 237 is out of range for type 'struct dtslot[128]'
CPU: 0 PID: 4024 Comm: syz-executor Not tainted 5.15.178-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call trace:
 dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
 dump_stack+0x1c/0x58 lib/dump_stack.c:113
 ubsan_epilogue lib/ubsan.c:151 [inline]
 __ubsan_handle_out_of_bounds+0x108/0x15c lib/ubsan.c:282
 dtReadFirst+0x4dc/0xa1c fs/jfs/jfs_dtree.c:3392
 dtReadNext fs/jfs/jfs_dtree.c:3443 [inline]
 jfs_readdir+0x800/0x3030 fs/jfs/jfs_dtree.c:3158
 iterate_dir+0x1f4/0x4ec
 __do_sys_getdents64 fs/readdir.c:369 [inline]
 __se_sys_getdents64 fs/readdir.c:354 [inline]
 __arm64_sys_getdents64+0x1c4/0x4c4 fs/readdir.c:354
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
 el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
================================================================================
==================================================================
BUG: KASAN: use-after-free in dtReadFirst+0x3d4/0xa1c fs/jfs/jfs_dtree.c:3394
Read of size 1 at addr ffff0000edb19da0 by task syz-executor/4024

CPU: 0 PID: 4024 Comm: syz-executor Not tainted 5.15.178-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call trace:
 dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
 print_address_description+0x7c/0x3f0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:434 [inline]
 kasan_report+0x174/0x1e4 mm/kasan/report.c:451
 __asan_report_load1_noabort+0x44/0x50 mm/kasan/report_generic.c:306
 dtReadFirst+0x3d4/0xa1c fs/jfs/jfs_dtree.c:3394
 dtReadNext fs/jfs/jfs_dtree.c:3443 [inline]
 jfs_readdir+0x800/0x3030 fs/jfs/jfs_dtree.c:3158
 iterate_dir+0x1f4/0x4ec
 __do_sys_getdents64 fs/readdir.c:369 [inline]
 __se_sys_getdents64 fs/readdir.c:354 [inline]
 __arm64_sys_getdents64+0x1c4/0x4c4 fs/readdir.c:354
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
 el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584

The buggy address belongs to the page:
page:000000003ca63564 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x12db19
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 fffffc0003b6a0c8 fffffc0003b6a208 0000000000000000
raw: 0000000000000000 ffff0000cd7226c0 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000edb19c80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000edb19d00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff0000edb19d80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                               ^
 ffff0000edb19e00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000edb19e80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
MetaData crosses page boundary!!
lblock = 6300000010, size  = -820051968
CPU: 0 PID: 4024 Comm: syz-executor Tainted: G    B             5.15.178-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call trace:
 dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
 dump_stack+0x1c/0x58 lib/dump_stack.c:113
 __get_metapage+0xb54/0x1128 fs/jfs/jfs_metapage.c:597
 dtReadFirst+0xc8/0xa1c fs/jfs/jfs_dtree.c:3362
 dtReadNext fs/jfs/jfs_dtree.c:3443 [inline]
 jfs_readdir+0x800/0x3030 fs/jfs/jfs_dtree.c:3158
 iterate_dir+0x1f4/0x4ec
 __do_sys_getdents64 fs/readdir.c:369 [inline]
 __se_sys_getdents64 fs/readdir.c:354 [inline]
 __arm64_sys_getdents64+0x1c4/0x4c4 fs/readdir.c:354
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
 el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
bread failed!
jfs_readdir: unexpected rc = -5 from dtReadNext
metapage_write_end_io: I/O error
JFS: metapage_get_blocks failed
JFS: metapage_get_blocks failed
JFS: metapage_get_blocks failed
JFS: metapage_get_blocks failed