EXT4-fs error (device loop7): ext4_map_blocks:778: inode #15: block 3: comm syz.7.465: lblock 3 mapped to illegal pblock 3 (length 1)
EXT4-fs error (device loop7): ext4_map_blocks:778: inode #15: block 3: comm syz.7.465: lblock 3 mapped to illegal pblock 3 (length 1)
==================================================================
BUG: KASAN: use-after-free in filemap_map_pages+0xc95/0x1740
Read of size 8 at addr ffff88810646b000 by task syz.7.465/8302

CPU: 1 UID: 0 PID: 8302 Comm: syz.7.465 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250
 print_report+0xca/0x240
 kasan_report+0x118/0x150
 filemap_map_pages+0xc95/0x1740
 __handle_mm_fault+0x34ac/0x5440
 handle_mm_fault+0x40a/0x8e0
 __get_user_pages+0x1699/0x2ce0
 populate_vma_page_range+0x29f/0x3a0
 __mm_populate+0x24c/0x380
 vm_mmap_pgoff+0x387/0x4d0
 ksys_mmap_pgoff+0x51f/0x760
 do_syscall_64+0xfa/0x3b0
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fe06c38ebe9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fe06d187038 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 00007fe06c5b6090 RCX: 00007fe06c38ebe9
RDX: 00000000027ffff7 RSI: 0000000000600000 RDI: 0000200000000000
RBP: 00007fe06c411e19 R08: 0000000000000006 R09: 0000000000000000
R10: 0000000004012011 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fe06c5b6128 R14: 00007fe06c5b6090 R15: 00007ffcea676328
 </TASK>

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x200000180 pfn:0x10646b
flags: 0x57ff00000000000(node=1|zone=2|lastcpupid=0x7ff)
raw: 057ff00000000000 ffffea00045644c8 ffffea000438eb88 0000000000000000
raw: 0000000200000180 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as freed
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x140dc2(GFP_HIGHUSER|__GFP_ZERO|__GFP_COMP), pid 8285, tgid 8284 (syz.5.460), ts 160136531994, free_ts 160329110798
 post_alloc_hook+0x240/0x2a0
 get_page_from_freelist+0x21e4/0x22c0
 __alloc_frozen_pages_noprof+0x181/0x370
 alloc_pages_mpol+0x232/0x4a0
 vma_alloc_folio_noprof+0xe4/0x200
 folio_prealloc+0x30/0x180
 __handle_mm_fault+0x2ab9/0x5440
 handle_mm_fault+0x40a/0x8e0
 __get_user_pages+0x1699/0x2ce0
 __gup_longterm_locked+0x3dc/0x1660
 pin_user_pages+0x9e/0xd0
 xdp_umem_pin_pages+0x117/0x340
 xdp_umem_create+0x677/0x8e0
 xsk_setsockopt+0x7b0/0x8d0
 do_sock_setsockopt+0x17c/0x1b0
 __x64_sys_setsockopt+0x13f/0x1b0
page last free pid 3146 tgid 3146 stack trace:
 __free_frozen_pages+0xbc4/0xd30
 __folio_put+0x21b/0x2c0
 unpin_user_pages_dirty_lock+0x395/0x510
 xdp_umem_release+0xdc/0x220
 process_scheduled_works+0xae1/0x17b0
 worker_thread+0x8a0/0xda0
 kthread+0x711/0x8a0
 ret_from_fork+0x3fc/0x770
 ret_from_fork_asm+0x1a/0x30

Memory state around the buggy address:
 ffff88810646af00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88810646af80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88810646b000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff88810646b080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88810646b100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
