hpfs: filesystem error: map_dirent: not a directory
hpfs: hpfs_map_4sectors(): unaligned read
hpfs: filesystem error: unable to find root dir
==================================================================
BUG: KASAN: use-after-free in hpfs_bplus_lookup+0x4f4/0x880
Read of size 4 at addr ffff8881a61da004 by task syz.1.424/13959

CPU: 0 UID: 0 PID: 13959 Comm: syz.1.424 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+0xe8/0x150
 print_address_description+0x55/0x1e0
 print_report+0x58/0x70
 kasan_report+0x117/0x150
 hpfs_bplus_lookup+0x4f4/0x880
 hpfs_bmap+0x230/0x4e0
 hpfs_get_block+0xa8/0x6e0
 do_mpage_readpage+0x801/0x1980
 mpage_readahead+0x3f9/0x810
 read_pages+0x193/0x5a0
 page_cache_ra_unbounded+0x794/0xa10
 page_cache_ra_order+0xae4/0xe80
 filemap_get_pages+0x4c0/0x1ef0
 filemap_read+0x447/0x1230
 __kernel_read+0x504/0x9b0
 integrity_kernel_read+0x89/0xd0
 ima_calc_file_hash+0x446/0x860
 ima_collect_measurement+0x51d/0x9c0
 process_measurement+0x12cd/0x1c80
 ima_file_check+0xe1/0x130
 security_file_post_open+0xb3/0x260
 path_openat+0x2e4d/0x3860
 do_file_open+0x23e/0x4a0
 do_sys_openat2+0x113/0x200
 __x64_sys_openat+0x138/0x170
 do_syscall_64+0x15f/0xf80
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fdf7db9cdd9
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:00007fdf7ea5e028 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007fdf7de15fa0 RCX: 00007fdf7db9cdd9
RDX: 0000000000060840 RSI: 0000200000000300 RDI: ffffffffffffff9c
RBP: 00007fdf7dc32d69 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000008 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fdf7de16038 R14: 00007fdf7de15fa0 R15: 00007ffccd66b338
 </TASK>

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xa1e pfn:0x1a61da
flags: 0x57ff00000000000(node=1|zone=2|lastcpupid=0x7ff)
raw: 057ff00000000000 ffffea00069876c8 ffffea00069875c8 0000000000000000
raw: 0000000000000a1e 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 13936, tgid 13785 (syz.3.423), ts 213899088620, free_ts 214284080894
 post_alloc_hook+0x231/0x280
 get_page_from_freelist+0x24ba/0x2540
 __alloc_frozen_pages_noprof+0x18d/0x380
 alloc_pages_mpol+0x235/0x490
 folio_alloc_mpol_noprof+0x39/0x160
 shmem_alloc_and_add_folio+0x442/0xf80
 shmem_get_folio_gfp+0x5a9/0x1670
 shmem_write_begin+0x16c/0x330
 generic_perform_write+0x2e2/0x8f0
 shmem_file_write_iter+0xf8/0x120
 vfs_write+0x61d/0xb90
 ksys_write+0x150/0x270
 do_syscall_64+0x15f/0xf80
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
page last free pid 13936 tgid 13785 stack trace:
 free_unref_folios+0xcec/0x1480
 folios_put_refs+0x9ff/0xb40
 shmem_undo_range+0x52c/0x1660
 shmem_evict_inode+0x289/0xae0
 evict+0x61e/0xb10
 __dentry_kill+0x1a2/0x690
 finish_dput+0xc9/0x480
 __fput+0x691/0xa60
 fput_close_sync+0x11f/0x240
 __x64_sys_close+0x7e/0x110
 do_syscall_64+0x15f/0xf80
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Memory state around the buggy address:
 ffff8881a61d9f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8881a61d9f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff8881a61da000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff8881a61da080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff8881a61da100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
