================================================================== BUG: KASAN: use-after-free in ext4_ext_binsearch fs/ext4/extents.c:840 [inline] BUG: KASAN: use-after-free in ext4_find_extent+0xaea/0xcc0 fs/ext4/extents.c:956 Read of size 4 at addr ffff888084b8b018 by task kworker/u8:10/21785 CPU: 1 UID: 0 PID: 21785 Comm: kworker/u8:10 Tainted: G L syzkaller #0 PREEMPT(full) Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026 Workqueue: ext4-rsv-conversion ext4_end_io_rsv_work Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xba/0x230 mm/kasan/report.c:482 kasan_report+0x117/0x150 mm/kasan/report.c:595 ext4_ext_binsearch fs/ext4/extents.c:840 [inline] ext4_find_extent+0xaea/0xcc0 fs/ext4/extents.c:956 ext4_ext_map_blocks+0x283/0x58b0 fs/ext4/extents.c:4261 ext4_map_create_blocks+0x11d/0x540 fs/ext4/inode.c:616 ext4_map_blocks+0x7cd/0x11d0 fs/ext4/inode.c:809 ext4_convert_unwritten_extents+0x2be/0x5f0 fs/ext4/extents.c:5029 ext4_convert_unwritten_io_end_vec+0xff/0x170 fs/ext4/extents.c:5069 ext4_end_io_end+0xc7/0x410 fs/ext4/page-io.c:200 ext4_do_flush_completed_IO fs/ext4/page-io.c:291 [inline] ext4_end_io_rsv_work+0x26a/0x340 fs/ext4/page-io.c:306 process_one_work kernel/workqueue.c:3275 [inline] process_scheduled_works+0xb02/0x1830 kernel/workqueue.c:3358 worker_thread+0xa50/0xfc0 kernel/workqueue.c:3439 kthread+0x388/0x470 kernel/kthread.c:467 ret_from_fork+0x51e/0xb90 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x7fffffffa pfn:0x84b8b flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000000 ffffea0001083fc8 ffffea00024dba08 0000000000000000 raw: 00000007fffffffa 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 0, migratetype Movable, gfp_mask 0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), pid 23049, tgid 23049 (dhcpcd-run-hook), ts 1806960175592, free_ts 1807358383112 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x231/0x280 mm/page_alloc.c:1889 prep_new_page mm/page_alloc.c:1897 [inline] get_page_from_freelist+0x24dc/0x2580 mm/page_alloc.c:3962 __alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5250 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2484 folio_alloc_mpol_noprof mm/mempolicy.c:2503 [inline] vma_alloc_folio_noprof+0xea/0x210 mm/mempolicy.c:2538 folio_prealloc mm/memory.c:-1 [inline] wp_page_copy mm/memory.c:3780 [inline] do_wp_page+0x1204/0x5a00 mm/memory.c:4241 handle_pte_fault mm/memory.c:6332 [inline] __handle_mm_fault mm/memory.c:6454 [inline] handle_mm_fault+0x1520/0x3310 mm/memory.c:6623 do_user_addr_fault+0xa73/0x1340 arch/x86/mm/fault.c:1334 handle_page_fault arch/x86/mm/fault.c:1474 [inline] exc_page_fault+0x6a/0xc0 arch/x86/mm/fault.c:1527 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618 page last free pid 23049 tgid 23049 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] __free_pages_prepare mm/page_alloc.c:1433 [inline] free_unref_folios+0xed5/0x16d0 mm/page_alloc.c:3040 folios_put_refs+0x789/0x8d0 mm/swap.c:1002 free_pages_and_swap_cache+0x2e7/0x5b0 mm/swap_state.c:423 __tlb_batch_free_encoded_pages mm/mmu_gather.c:138 [inline] tlb_batch_pages_flush mm/mmu_gather.c:151 [inline] tlb_flush_mmu_free mm/mmu_gather.c:398 [inline] tlb_flush_mmu+0x6d3/0xa30 mm/mmu_gather.c:405 tlb_finish_mmu+0xf9/0x230 mm/mmu_gather.c:530 exit_mmap+0x498/0xa10 mm/mmap.c:1315 __mmput+0x118/0x430 kernel/fork.c:1174 exit_mm+0x168/0x220 kernel/exit.c:581 do_exit+0x62e/0x2320 kernel/exit.c:959 do_group_exit+0x21b/0x2d0 kernel/exit.c:1112 __do_sys_exit_group kernel/exit.c:1123 [inline] __se_sys_exit_group kernel/exit.c:1121 [inline] __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1121 x64_sys_call+0x221a/0x2240 arch/x86/include/generated/asm/syscalls_64.h:232 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x14d/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Memory state around the buggy address: ffff888084b8af00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888084b8af80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888084b8b000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff888084b8b080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff888084b8b100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==================================================================