================================================================== BUG: KASAN: use-after-free in ext4_ext_rm_leaf fs/ext4/extents.c:2627 [inline] BUG: KASAN: use-after-free in ext4_ext_remove_space+0x2730/0x37c8 fs/ext4/extents.c:2965 Read of size 4 at addr ffff0000ec41fc18 by task syz-executor/6681 CPU: 1 UID: 0 PID: 6681 Comm: syz-executor 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 ext4_ext_rm_leaf fs/ext4/extents.c:2627 [inline] ext4_ext_remove_space+0x2730/0x37c8 fs/ext4/extents.c:2965 ext4_ext_truncate+0x134/0x1d0 fs/ext4/extents.c:4484 ext4_truncate+0xa50/0x10d4 fs/ext4/inode.c:4612 ext4_evict_inode+0x988/0x1058 fs/ext4/inode.c:260 evict+0x4e0/0xa74 fs/inode.c:837 iput_final fs/inode.c:1951 [inline] iput+0xc54/0xfdc fs/inode.c:2003 do_unlinkat+0x2c0/0x48c fs/namei.c:5443 __do_sys_unlinkat fs/namei.c:5469 [inline] __se_sys_unlinkat fs/namei.c:5462 [inline] __arm64_sys_unlinkat+0xdc/0xf8 fs/namei.c:5462 __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 physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffffabc08 pfn:0x12c41f flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff) raw: 05ffc00000000000 fffffdffc3b10788 fffffdffc3b10808 0000000000000000 raw: 0000000ffffabc08 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000ec41fb00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff0000ec41fb80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff0000ec41fc00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff0000ec41fc80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff0000ec41fd00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 59619400904272, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 59619400889904, count = 14384 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 59619400889904, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 121381788767856, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 121381788739082, count = 28783 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 121381788739072, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 104893291945344, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 104893291917164, count = 28192 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 104893291917152, count = 16 EXT4-fs error: 78762 callbacks suppressed EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 123563884401088, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 123563884371816, count = 29287 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 123563884371808, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 111292037818512, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 111292037804130, count = 14384 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 111292037804128, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 111473299215728, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 111473299187210, count = 28530 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 127682422675264, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 127682422662944, count = 12336 EXT4-fs warning (device loop0): ext4_evict_inode:273: xattr delete (err -117) EXT4-fs (loop0): unmounting filesystem 00000000-0000-0000-0000-000000000000. EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 1, count = 64 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 2293512536128, count = 27584 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 31823336, count = 0 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 31823328, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 4694399254592, count = 0 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 36412688, count = 0 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 0, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 0, count = 1 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 71630848, count = 64 EXT4-fs warning (device loop0): ext4_evict_inode:273: xattr delete (err -117) EXT4-fs (loop0): unmounting filesystem 00000000-0000-0000-0000-000000000000. EXT4-fs (loop0): unmounting filesystem 00000000-0000-0000-0000-000000000000. EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 112589081189984, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 112589081163878, count = 26122 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 112589081163872, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 110429504657824, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 110429504629877, count = 27950 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 110429504629872, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 109285987354000, count = 16 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 109285987328048, count = 25955 EXT4-fs error (device loop0): ext4_free_blocks:6728: comm syz-executor: Freeing blocks not in datazone - block = 112589081189984, count = 16