================================================================== BUG: KASAN: use-after-free in ext4_xattr_set_entry+0x1e04/0x3940 fs/ext4/xattr.c:1727 Read of size 49193 at addr ffff88811f2997e0 by task syz.0.421/1986 CPU: 1 PID: 1986 Comm: syz.0.421 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Call Trace: __dump_stack+0x21/0x30 lib/dump_stack.c:88 dump_stack_lvl+0x110/0x170 lib/dump_stack.c:106 print_address_description+0x7f/0x2c0 mm/kasan/report.c:248 __kasan_report mm/kasan/report.c:427 [inline] kasan_report+0xf1/0x140 mm/kasan/report.c:444 check_region_inline mm/kasan/generic.c:-1 [inline] kasan_check_range+0x249/0x2a0 mm/kasan/generic.c:189 memmove+0x2d/0x70 mm/kasan/shadow.c:54 ext4_xattr_set_entry+0x1e04/0x3940 fs/ext4/xattr.c:1727 ext4_xattr_block_set+0x4f8/0x2d10 fs/ext4/xattr.c:1936 ext4_xattr_set_handle+0xbc4/0x12b0 fs/ext4/xattr.c:2422 ext4_xattr_set+0x242/0x320 fs/ext4/xattr.c:2523 ext4_xattr_trusted_set+0x3c/0x50 fs/ext4/xattr_trusted.c:38 __vfs_setxattr+0x3e1/0x430 fs/xattr.c:182 __vfs_setxattr_noperm+0x12a/0x5e0 fs/xattr.c:216 __vfs_setxattr_locked+0x212/0x230 fs/xattr.c:277 vfs_setxattr+0x167/0x2e0 fs/xattr.c:303 do_setxattr fs/xattr.c:588 [inline] setxattr+0x36c/0x390 fs/xattr.c:611 path_setxattr+0x147/0x290 fs/xattr.c:630 __do_sys_lsetxattr fs/xattr.c:653 [inline] __se_sys_lsetxattr fs/xattr.c:649 [inline] __x64_sys_lsetxattr+0xc2/0xe0 fs/xattr.c:649 x64_sys_call+0x8cc/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:190 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 RIP: 0033:0x7fc9c660dcb9 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fc9c5049028 EFLAGS: 00000246 ORIG_RAX: 00000000000000bd RAX: ffffffffffffffda RBX: 00007fc9c6889090 RCX: 00007fc9c660dcb9 RDX: 0000200000000440 RSI: 00002000000000c0 RDI: 0000200000000100 RBP: 00007fc9c667bbf7 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000fe37 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fc9c6889128 R14: 00007fc9c6889090 R15: 00007ffc1126a108 The buggy address belongs to the page: page:ffffea00047ca640 refcount:2 mapcount:0 mapping:ffff888109288d98 index:0x1c pfn:0x11f299 memcg:ffff88810e1e5640 aops:def_blk_aops ino:700000 flags: 0x400000000000203a(referenced|dirty|lru|active|private|zone=1) raw: 400000000000203a ffffea0004e47048 ffffea0004bd9ec8 ffff888109288d98 raw: 000000000000001c ffff8881296e60a8 00000002ffffffff ffff88810e1e5640 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Movable, gfp_mask 0x108c48(GFP_NOFS|__GFP_NOFAIL|__GFP_HARDWALL|__GFP_MOVABLE), pid 1983, ts 80839237098, free_ts 80767791312 set_page_owner include/linux/page_owner.h:33 [inline] post_alloc_hook+0x192/0x1b0 mm/page_alloc.c:2605 prep_new_page+0x1c/0x110 mm/page_alloc.c:2611 get_page_from_freelist+0x2d3a/0x2dc0 mm/page_alloc.c:4485 __alloc_pages+0x1a2/0x460 mm/page_alloc.c:5808 __alloc_pages_node include/linux/gfp.h:595 [inline] alloc_pages_node include/linux/gfp.h:609 [inline] alloc_pages include/linux/gfp.h:622 [inline] __page_cache_alloc include/linux/pagemap.h:305 [inline] pagecache_get_page+0xac6/0xde0 mm/filemap.c:1955 find_or_create_page include/linux/pagemap.h:418 [inline] grow_dev_page fs/buffer.c:949 [inline] grow_buffers fs/buffer.c:1014 [inline] __getblk_slow fs/buffer.c:1041 [inline] __getblk_gfp+0x238/0x7d0 fs/buffer.c:1336 sb_getblk include/linux/buffer_head.h:361 [inline] ext4_xattr_block_set+0x1d7c/0x2d10 fs/ext4/xattr.c:2117 ext4_xattr_set_handle+0xbc4/0x12b0 fs/ext4/xattr.c:2422 ext4_xattr_set+0x242/0x320 fs/ext4/xattr.c:2523 ext4_xattr_user_set+0xc4/0xf0 fs/ext4/xattr_user.c:41 __vfs_setxattr+0x3e1/0x430 fs/xattr.c:182 __vfs_setxattr_noperm+0x12a/0x5e0 fs/xattr.c:216 __vfs_setxattr_locked+0x212/0x230 fs/xattr.c:277 vfs_setxattr+0x167/0x2e0 fs/xattr.c:303 do_setxattr fs/xattr.c:588 [inline] setxattr+0x36c/0x390 fs/xattr.c:611 path_setxattr+0x147/0x290 fs/xattr.c:630 page last free stack trace: reset_page_owner include/linux/page_owner.h:26 [inline] free_pages_prepare mm/page_alloc.c:1472 [inline] free_pcp_prepare mm/page_alloc.c:1544 [inline] free_unref_page_prepare+0x542/0x550 mm/page_alloc.c:3534 free_unref_page_list+0x13a/0x9d0 mm/page_alloc.c:3671 release_pages+0x1006/0x1060 mm/swap.c:1014 free_pages_and_swap_cache+0x86/0xa0 mm/swap_state.c:320 tlb_batch_pages_flush mm/mmu_gather.c:49 [inline] tlb_flush_mmu_free mm/mmu_gather.c:240 [inline] tlb_flush_mmu mm/mmu_gather.c:247 [inline] tlb_finish_mmu+0x17e/0x310 mm/mmu_gather.c:338 exit_mmap+0x43b/0x8b0 mm/mmap.c:3248 __mmput+0x93/0x320 kernel/fork.c:1180 mmput+0x50/0x150 kernel/fork.c:1203 exit_mm kernel/exit.c:554 [inline] do_exit+0x9f2/0x27e0 kernel/exit.c:876 do_group_exit+0x141/0x310 kernel/exit.c:1003 __do_sys_exit_group kernel/exit.c:1014 [inline] __se_sys_exit_group kernel/exit.c:1012 [inline] __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1012 x64_sys_call+0x832/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:232 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 Memory state around the buggy address: ffff88811f299f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88811f299f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff88811f29a000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff88811f29a080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88811f29a100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==================================================================