================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x96/0x1be0 kernel/locking/lockdep.c:3828 Read of size 8 at addr ffff8880a3e1f6e0 by task syz-executor.0/8493 CPU: 1 PID: 8493 Comm: syz-executor.0 Not tainted 5.3.0+ #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1d8/0x2f8 lib/dump_stack.c:113 print_address_description+0x75/0x5b0 mm/kasan/report.c:351 __kasan_report+0x14b/0x1c0 mm/kasan/report.c:482 kasan_report+0x26/0x50 mm/kasan/common.c:618 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132 __lock_acquire+0x96/0x1be0 kernel/locking/lockdep.c:3828 lock_acquire+0x158/0x250 kernel/locking/lockdep.c:4487 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2d/0x40 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:338 [inline] shmem_fault+0x548/0x690 mm/shmem.c:2049 __do_fault+0x144/0x3d0 mm/memory.c:3087 do_read_fault mm/memory.c:3484 [inline] do_fault mm/memory.c:3613 [inline] handle_pte_fault mm/memory.c:3844 [inline] __handle_mm_fault mm/memory.c:3968 [inline] handle_mm_fault+0x430c/0x6010 mm/memory.c:4005 do_user_addr_fault+0x589/0xaf0 arch/x86/mm/fault.c:1441 __do_page_fault+0xd3/0x1f0 arch/x86/mm/fault.c:1506 do_page_fault+0x99/0xb0 arch/x86/mm/fault.c:1530 page_fault+0x39/0x40 arch/x86/entry/entry_64.S:1202 RIP: 0010:copy_user_generic_unrolled+0x86/0xc0 arch/x86/lib/copy_user_64.S:90 Code: 4c 8b 5e 38 4c 89 47 20 4c 89 4f 28 4c 89 57 30 4c 89 5f 38 48 8d 76 40 48 8d 7f 40 ff c9 75 b6 89 d1 83 e2 07 c1 e9 03 74 12 <4c> 8b 06 4c 89 07 48 8d 76 08 48 8d 7f 08 ff c9 75 ee 21 d2 74 10 RSP: 0018:ffff88806043f660 EFLAGS: 00010203 RAX: ffffffff81b3c6c5 RBX: ffff88805f051c50 RCX: 0000000000000001 RDX: 0000000000000007 RSI: 0000000020000303 RDI: ffff88805f051c50 RBP: ffff88806043f6a0 R08: ffffffff81b3c6ad R09: 000000000000000f R10: 0000000000001c10 R11: ffff8880a5df3380 R12: ffff8880604c01a0 R13: 0000000020000303 R14: 000000000000000f R15: 0000000020000000 kvm_vcpu_read_guest_page+0x40/0x50 arch/x86/kvm/../../../virt/kvm/kvm_main.c:1914 kvm_fetch_guest_virt+0x14d/0x1a0 arch/x86/kvm/x86.c:5278 __do_insn_fetch_bytes+0x248/0x650 arch/x86/kvm/emulate.c:912 x86_decode_insn+0x24f/0x5030 arch/x86/kvm/emulate.c:5166 x86_emulate_instruction+0x2c1/0x2eb0 arch/x86/kvm/x86.c:6576 kvm_mmu_page_fault+0x2e9/0xeb0 arch/x86/kvm/mmu.c:5453 handle_ept_violation+0x1bd/0x200 arch/x86/kvm/vmx/vmx.c:5102 vmx_handle_exit+0x3c7/0xe40 arch/x86/kvm/vmx/vmx.c:5870 vcpu_enter_guest+0x4040/0x5590 arch/x86/kvm/x86.c:8159 vcpu_run+0x393/0xd40 arch/x86/kvm/x86.c:8223 kvm_arch_vcpu_ioctl_run+0x636/0x900 arch/x86/kvm/x86.c:8431 kvm_vcpu_ioctl+0x6cf/0xaf0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2764 do_vfs_ioctl+0x744/0x1730 fs/ioctl.c:46 ksys_ioctl fs/ioctl.c:713 [inline] __do_sys_ioctl fs/ioctl.c:720 [inline] __se_sys_ioctl fs/ioctl.c:718 [inline] __x64_sys_ioctl+0xe3/0x120 fs/ioctl.c:718 do_syscall_64+0xf7/0x1c0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x459a09 Code: fd b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 0f 83 cb b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007ff3e98c8c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000459a09 RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000006 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ff3e98c96d4 R13: 00000000004c2da0 R14: 00000000004d65c0 R15: 00000000ffffffff Allocated by task 8493: save_stack mm/kasan/common.c:69 [inline] set_track mm/kasan/common.c:77 [inline] __kasan_kmalloc+0x11c/0x1b0 mm/kasan/common.c:493 kasan_slab_alloc+0xf/0x20 mm/kasan/common.c:501 slab_post_alloc_hook mm/slab.h:520 [inline] slab_alloc mm/slab.c:3319 [inline] kmem_cache_alloc+0x1f5/0x2e0 mm/slab.c:3483 shmem_alloc_inode+0x1b/0x40 mm/shmem.c:3727 alloc_inode fs/inode.c:227 [inline] new_inode_pseudo+0x68/0x240 fs/inode.c:916 new_inode+0x28/0x1c0 fs/inode.c:945 shmem_get_inode+0x11b/0x700 mm/shmem.c:2243 __shmem_file_setup+0x129/0x280 mm/shmem.c:4096 shmem_kernel_file_setup mm/shmem.c:4126 [inline] shmem_zero_setup+0xaf/0x3e0 mm/shmem.c:4170 mmap_region+0x123c/0x1cb0 mm/mmap.c:1808 do_mmap+0xaba/0x1110 mm/mmap.c:1565 do_mmap_pgoff include/linux/mm.h:2374 [inline] vm_mmap_pgoff+0x13d/0x1d0 mm/util.c:391 ksys_mmap_pgoff+0x104/0x560 mm/mmap.c:1615 __do_sys_mmap arch/x86/kernel/sys_x86_64.c:100 [inline] __se_sys_mmap arch/x86/kernel/sys_x86_64.c:91 [inline] __x64_sys_mmap+0x103/0x120 arch/x86/kernel/sys_x86_64.c:91 do_syscall_64+0xf7/0x1c0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 8510: save_stack mm/kasan/common.c:69 [inline] set_track mm/kasan/common.c:77 [inline] __kasan_slab_free+0x12a/0x1e0 mm/kasan/common.c:455 kasan_slab_free+0xe/0x10 mm/kasan/common.c:463 __cache_free mm/slab.c:3425 [inline] kmem_cache_free+0x81/0xf0 mm/slab.c:3693 shmem_free_in_core_inode+0x91/0xc0 mm/shmem.c:3737 i_callback+0x4b/0x70 fs/inode.c:216 __rcu_reclaim kernel/rcu/rcu.h:222 [inline] rcu_do_batch kernel/rcu/tree.c:2157 [inline] rcu_core+0x843/0x1050 kernel/rcu/tree.c:2377 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2386 __do_softirq+0x333/0x7c4 arch/x86/include/asm/paravirt.h:766 The buggy address belongs to the object at ffff8880a3e1f538 which belongs to the cache shmem_inode_cache of size 1208 The buggy address is located 424 bytes inside of 1208-byte region [ffff8880a3e1f538, ffff8880a3e1f9f0) The buggy address belongs to the page: page:ffffea00028f87c0 refcount:1 mapcount:0 mapping:ffff8880aa590380 index:0xffff8880a3e1fffd flags: 0x1fffc0000000200(slab) raw: 01fffc0000000200 ffffea0002a4c788 ffffea000290c5c8 ffff8880aa590380 raw: ffff8880a3e1fffd ffff8880a3e1f000 0000000100000003 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a3e1f580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a3e1f600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880a3e1f680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a3e1f700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a3e1f780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================