EXT4-fs warning (device loop1): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-116). Please run e2fsck to fix. EXT4-fs (loop6): mount failed EXT4-fs (loop1): mount failed ================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x4346/0x6120 Read of size 8 at addr ffff88800f524f48 by task syz-executor/12337 CPU: 1 PID: 12337 Comm: syz-executor Not tainted 5.19.0-rc3-next-20220622 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x8b/0xb3 print_report.cold+0x5e/0x5e8 kasan_report+0xbe/0x1c0 __lock_acquire+0x4346/0x6120 lock_acquire+0x1a2/0x530 _raw_spin_lock_irq+0x32/0x50 kmemleak_scan+0x21d/0x16b0 kmemleak_write+0x56c/0x680 full_proxy_write+0x11d/0x190 vfs_write+0x264/0xac0 ksys_write+0x127/0x250 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x46/0xb0 RIP: 0033:0x7fc211bfb5c3 Code: 16 00 00 00 eb ae 90 b8 6e 00 00 00 eb a6 e8 44 ef 04 00 0f 1f 40 00 64 8b 04 25 18 00 00 00 85 c0 75 14 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 55 c3 0f 1f 40 00 48 83 ec 28 48 89 54 24 18 RSP: 002b:00007ffc36021fa8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007ffc360225e8 RCX: 00007fc211bfb5c3 RDX: 0000000000000004 RSI: 00007fc211cb1ed9 RDI: 0000000000000003 RBP: 0000000000000003 R08: 000000000000072d R09: 00007ffc3605c080 R10: 00007ffc3605c090 R11: 0000000000000246 R12: 00007fc211bfdb10 R13: 00007ffc36023ee2 R14: 0000000000000000 R15: 00000000001c0925 Allocated by task 129: kasan_save_stack+0x1e/0x40 __kasan_slab_alloc+0x66/0x80 kmem_cache_alloc+0x1b1/0x490 __create_object.isra.0+0x3d/0xc10 kmem_cache_alloc+0x247/0x490 __alloc_file+0x21/0x230 alloc_empty_file+0x6d/0x170 path_openat+0xe1/0x2870 do_filp_open+0x1aa/0x400 do_sys_openat2+0x16d/0x4c0 __x64_sys_openat+0x13f/0x1f0 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x46/0xb0 Freed by task 19: kasan_save_stack+0x1e/0x40 kasan_set_track+0x21/0x30 kasan_set_free_info+0x20/0x30 ____kasan_slab_free+0x14b/0x1a0 kmem_cache_free+0xe7/0x5e0 rcu_core+0x7e2/0x2070 __do_softirq+0x270/0x8c7 Last potentially related work creation: kasan_save_stack+0x1e/0x40 __kasan_record_aux_stack+0x97/0xa0 call_rcu+0x6a/0xa20 kmem_cache_free+0x26e/0x5e0 rcu_core+0x7e2/0x2070 __do_softirq+0x270/0x8c7 Second to last potentially related work creation: kasan_save_stack+0x1e/0x40 __kasan_record_aux_stack+0x97/0xa0 call_rcu+0x6a/0xa20 kfree+0x1e1/0x5b0 kvfree+0x42/0x50 shmem_evict_inode+0x151/0xa70 evict+0x284/0x610 iput.part.0+0x52d/0x7d0 iput+0x58/0x70 dentry_unlink_inode+0x2b4/0x460 __dentry_kill+0x36f/0x5c0 dput+0x664/0xe10 do_renameat2+0x567/0xc30 __x64_sys_rename+0x7d/0xa0 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x46/0xb0 The buggy address belongs to the object at ffff88800f524f30 which belongs to the cache kmemleak_object of size 368 The buggy address is located 24 bytes inside of 368-byte region [ffff88800f524f30, ffff88800f5250a0) The buggy address belongs to the physical page: page:000000005e8e52e0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0xf524 head:000000005e8e52e0 order:1 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff88800784f780 raw: 0000000000000000 0000000000120012 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88800f524e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88800f524e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc fc >ffff88800f524f00: fc fc fc fc fc fc fa fb fb fb fb fb fb fb fb fb ^ ffff88800f524f80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88800f525000: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== loop2: detected capacity change from 0 to 264192 loop7: detected capacity change from 0 to 264192 loop6: detected capacity change from 0 to 264192 loop0: detected capacity change from 0 to 264192 loop4: detected capacity change from 0 to 264192 loop1: detected capacity change from 0 to 264192 loop3: detected capacity change from 0 to 264192 loop5: detected capacity change from 0 to 264192 EXT4-fs error (device loop5): __ext4_fill_super:5235: inode #2: comm syz-executor.5: iget: root inode unallocated EXT4-fs (loop5): get root inode failed EXT4-fs (loop5): mount failed EXT4-fs error (device loop4): ext4_ext_check_inode:497: inode #3: comm syz-executor.4: pblk 0 bad header/extent: invalid extent entries - magic f30a, entries 1, max 4(4), depth 0(0) EXT4-fs error (device loop7): ext4_quota_enable:6772: comm syz-executor.7: Bad quota inode # 4 Quota error (device loop0): v2_read_file_info: Free block number too big (0 >= 0). EXT4-fs warning (device loop0): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. EXT4-fs (loop0): mount failed EXT4-fs warning (device loop7): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs error (device loop4): ext4_quota_enable:6772: comm syz-executor.4: Bad quota inode # 3 EXT4-fs (loop7): mount failed EXT4-fs warning (device loop4): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. EXT4-fs (loop4): mount failed Quota error (device loop2): v2_read_file_info: Free block number too big (0 >= 0). EXT4-fs warning (device loop2): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. EXT4-fs (loop2): mount failed EXT4-fs warning (device loop6): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-22). Please run e2fsck to fix. EXT4-fs (loop6): mount failed EXT4-fs (loop3): corrupt root inode, run e2fsck EXT4-fs (loop3): mount failed EXT4-fs error (device loop1): ext4_quota_enable:6772: comm syz-executor.1: Bad quota inode # 3 EXT4-fs warning (device loop1): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-116). Please run e2fsck to fix. EXT4-fs (loop1): mount failed loop4: detected capacity change from 0 to 264192 loop3: detected capacity change from 0 to 264192 loop2: detected capacity change from 0 to 264192 loop7: detected capacity change from 0 to 264192 loop6: detected capacity change from 0 to 264192 loop0: detected capacity change from 0 to 264192 Quota error (device loop0): v2_read_file_info: Free block number too big (0 >= 0). EXT4-fs warning (device loop0): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. EXT4-fs error (device loop3): ext4_quota_enable:6772: comm syz-executor.3: Bad quota inode # 4 EXT4-fs warning (device loop3): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs (loop0): mount failed EXT4-fs error (device loop7): ext4_quota_enable:6772: comm syz-executor.7: Bad quota inode # 4 EXT4-fs warning (device loop7): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs (loop3): mount failed EXT4-fs (loop7): mount failed loop1: detected capacity change from 0 to 264192 EXT4-fs error (device loop4): ext4_ext_check_inode:497: inode #3: comm syz-executor.4: pblk 0 bad header/extent: invalid extent entries - magic f30a, entries 1, max 4(4), depth 0(0) EXT4-fs error (device loop4): ext4_quota_enable:6772: comm syz-executor.4: Bad quota inode # 3 EXT4-fs warning (device loop4): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. Quota error (device loop2): v2_read_file_info: Free block number too big (0 >= 0). EXT4-fs warning (device loop2): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. EXT4-fs (loop2): mount failed EXT4-fs (loop4): mount failed EXT4-fs warning (device loop6): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-22). Please run e2fsck to fix. EXT4-fs (loop6): mount failed loop5: detected capacity change from 0 to 264192 EXT4-fs error (device loop1): ext4_quota_enable:6772: comm syz-executor.1: Bad quota inode # 3 EXT4-fs error (device loop5): ext4_quota_enable:6772: comm syz-executor.5: Bad quota inode # 4 EXT4-fs warning (device loop5): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs (loop5): mount failed EXT4-fs warning (device loop1): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-116). Please run e2fsck to fix. EXT4-fs (loop1): mount failed loop7: detected capacity change from 0 to 264192 loop2: detected capacity change from 0 to 264192 loop3: detected capacity change from 0 to 264192 Quota error (device loop2): v2_read_file_info: Free block number too big (0 >= 0). EXT4-fs warning (device loop2): ext4_enable_quotas:6809: Failed to enable quota tracking (type=0, err=-117). Please run e2fsck to fix. EXT4-fs (loop2): mount failed loop5: detected capacity change from 0 to 264192 EXT4-fs error (device loop3): ext4_quota_enable:6772: comm syz-executor.3: Bad quota inode # 4 EXT4-fs error (device loop7): ext4_quota_enable:6772: comm syz-executor.7: Bad quota inode # 4 EXT4-fs warning (device loop3): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs warning (device loop7): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs (loop3): mount failed EXT4-fs (loop7): mount failed EXT4-fs error (device loop5): ext4_quota_enable:6772: comm syz-executor.5: Bad quota inode # 4 EXT4-fs warning (device loop5): ext4_enable_quotas:6809: Failed to enable quota tracking (type=1, err=-116). Please run e2fsck to fix. EXT4-fs (loop5): mount failed