================================================================== BUG: KASAN: use-after-free in ext4_ext_binsearch fs/ext4/extents.c:840 [inline] BUG: KASAN: use-after-free in ext4_find_extent+0x8dc/0xa8c fs/ext4/extents.c:955 Read of size 4 at addr ffff0000de70110c by task syz-executor312/6629 CPU: 1 UID: 0 PID: 6629 Comm: syz-executor312 Not tainted 6.15.0-rc7-syzkaller-gd7fa1af5b33e #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xa8/0x254 mm/kasan/report.c:408 print_report+0x68/0x84 mm/kasan/report.c:521 kasan_report+0xb0/0x110 mm/kasan/report.c:634 __asan_report_load4_noabort+0x20/0x2c mm/kasan/report_generic.c:380 ext4_ext_binsearch fs/ext4/extents.c:840 [inline] ext4_find_extent+0x8dc/0xa8c fs/ext4/extents.c:955 ext4_ext_map_blocks+0x258/0x52ec fs/ext4/extents.c:4205 ext4_map_create_blocks fs/ext4/inode.c:520 [inline] ext4_map_blocks+0x6a8/0x13ac fs/ext4/inode.c:706 _ext4_get_block+0x19c/0x4d4 fs/ext4/inode.c:785 ext4_get_block_unwritten+0x3c/0x114 fs/ext4/inode.c:818 ext4_block_write_begin+0x41c/0xf10 fs/ext4/inode.c:1067 ext4_write_begin+0x5d8/0x1030 fs/ext4/ext4_jbd2.h:-1 ext4_da_write_begin+0x274/0x954 fs/ext4/inode.c:2932 generic_perform_write+0x23c/0x79c mm/filemap.c:4103 ext4_buffered_write_iter+0x2b8/0x528 fs/ext4/file.c:299 ext4_file_write_iter+0x1d8/0x1864 fs/ext4/file.c:-1 do_iter_readv_writev+0x460/0x6a8 fs/read_write.c:-1 vfs_writev+0x2b4/0x81c fs/read_write.c:1055 do_pwritev fs/read_write.c:1151 [inline] __do_sys_pwritev2 fs/read_write.c:1209 [inline] __se_sys_pwritev2 fs/read_write.c:1200 [inline] __arm64_sys_pwritev2+0x1bc/0x2cc fs/read_write.c:1200 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x67 pfn:0x11e701 flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff) raw: 05ffc00000000000 dead000000000100 dead000000000122 0000000000000000 raw: 0000000000000067 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000de701000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff0000de701080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff0000de701100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff0000de701180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff0000de701200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== EXT4-fs error (device loop0): ext4_map_blocks:709: inode #15: block 167123368280137: comm syz-executor312: lblock 42 mapped to illegal pblock 167123368280137 (length 1) EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 167034851894096, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 167034851893279, count = 821 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 167034851893264, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 235706364397456, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 235706364396512, count = 960 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 235706364396512, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 167059891691200, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 167059891682301, count = 8907 EXT4-fs error (device loop0): ext4_free_blocks:6587: comm syz-executor312: Freeing blocks not in datazone - block = 167059891682288, count = 16 EXT4-fs (loop0): Delayed block allocation failed for inode 15 at logical offset 0 with max blocks 1 with error 117 EXT4-fs (loop0): This should not happen!! Data will be lost