================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x3a8b/0x4a00 kernel/locking/lockdep.c:3828 Read of size 8 at addr ffff8880903a8c18 by task syz-executor.5/16578 CPU: 1 PID: 16578 Comm: syz-executor.5 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+0x172/0x1f0 lib/dump_stack.c:113 print_address_description.constprop.0.cold+0xd4/0x30b mm/kasan/report.c:374 __kasan_report.cold+0x1b/0x41 mm/kasan/report.c:506 kasan_report+0x12/0x20 mm/kasan/common.c:634 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132 __lock_acquire+0x3a8b/0x4a00 kernel/locking/lockdep.c:3828 lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4487 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2f/0x40 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:338 [inline] shmem_fault+0x5ec/0x7b0 mm/shmem.c:2049 __do_fault+0x111/0x540 mm/memory.c:3092 do_read_fault mm/memory.c:3489 [inline] do_fault mm/memory.c:3618 [inline] handle_pte_fault mm/memory.c:3849 [inline] __handle_mm_fault+0x2dca/0x4040 mm/memory.c:3973 handle_mm_fault+0x3b7/0xaa0 mm/memory.c:4010 do_user_addr_fault arch/x86/mm/fault.c:1441 [inline] __do_page_fault+0x536/0xdd0 arch/x86/mm/fault.c:1506 do_page_fault+0x38/0x590 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:ffff888055a57458 EFLAGS: 00010203 RAX: 0000000000040000 RBX: 00000000000004e6 RCX: 0000000000000001 RDX: 0000000000000007 RSI: 00000000200004e6 RDI: ffff88805e561d90 RBP: ffff888055a57488 R08: ffff888087e24200 R09: ffff8880939b4540 R10: 0000000000001a5c R11: ffffea0001795807 R12: 000000000000000f R13: ffff88805e561d90 R14: 0000000020000000 R15: 000000000000000f kvm_vcpu_read_guest_page+0x40/0x50 arch/x86/kvm/../../../virt/kvm/kvm_main.c:1914 kvm_fetch_guest_virt+0x142/0x1c0 arch/x86/kvm/x86.c:5332 __do_insn_fetch_bytes+0x323/0x6f0 arch/x86/kvm/emulate.c:912 x86_decode_insn+0x1743/0x5500 arch/x86/kvm/emulate.c:5166 x86_emulate_instruction+0x882/0x1b30 arch/x86/kvm/x86.c:6630 kvm_mmu_page_fault+0x371/0x1800 arch/x86/kvm/mmu.c:5456 handle_ept_violation+0x259/0x560 arch/x86/kvm/vmx/vmx.c:5188 vmx_handle_exit+0x29f/0x1730 arch/x86/kvm/vmx/vmx.c:5944 vcpu_enter_guest+0x10d3/0x6110 arch/x86/kvm/x86.c:8222 vcpu_run arch/x86/kvm/x86.c:8286 [inline] kvm_arch_vcpu_ioctl_run+0x424/0x17a0 arch/x86/kvm/x86.c:8493 kvm_vcpu_ioctl+0x4dc/0xfc0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2764 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:509 [inline] do_vfs_ioctl+0xdb6/0x13e0 fs/ioctl.c:696 ksys_ioctl+0xab/0xd0 fs/ioctl.c:713 __do_sys_ioctl fs/ioctl.c:720 [inline] __se_sys_ioctl fs/ioctl.c:718 [inline] __x64_sys_ioctl+0x73/0xb0 fs/ioctl.c:718 do_syscall_64+0xfa/0x760 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x459a29 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:00007f9223a35c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000459a29 RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000006 RBP: 000000000075bfc8 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f9223a366d4 R13: 00000000004c2ddb R14: 00000000004d6618 R15: 00000000ffffffff Allocated by task 16548: save_stack+0x23/0x90 mm/kasan/common.c:69 set_track mm/kasan/common.c:77 [inline] __kasan_kmalloc mm/kasan/common.c:510 [inline] __kasan_kmalloc.constprop.0+0xcf/0xe0 mm/kasan/common.c:483 kasan_slab_alloc+0xf/0x20 mm/kasan/common.c:518 slab_post_alloc_hook mm/slab.h:584 [inline] slab_alloc mm/slab.c:3319 [inline] kmem_cache_alloc+0x121/0x710 mm/slab.c:3483 shmem_alloc_inode+0x1c/0x50 mm/shmem.c:3727 alloc_inode+0x68/0x1e0 fs/inode.c:230 new_inode_pseudo+0x19/0xf0 fs/inode.c:919 new_inode+0x1f/0x40 fs/inode.c:948 shmem_get_inode+0x84/0x7e0 mm/shmem.c:2243 __shmem_file_setup.part.0+0x1e2/0x2b0 mm/shmem.c:4096 __shmem_file_setup mm/shmem.c:4090 [inline] shmem_kernel_file_setup mm/shmem.c:4126 [inline] shmem_zero_setup+0xe1/0x4cc mm/shmem.c:4170 mmap_region+0x13d5/0x1760 mm/mmap.c:1822 do_mmap+0x853/0x1190 mm/mmap.c:1577 do_mmap_pgoff include/linux/mm.h:2353 [inline] vm_mmap_pgoff+0x1c5/0x230 mm/util.c:496 ksys_mmap_pgoff+0xf7/0x630 mm/mmap.c:1629 __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+0xe9/0x1b0 arch/x86/kernel/sys_x86_64.c:91 do_syscall_64+0xfa/0x760 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 16591: save_stack+0x23/0x90 mm/kasan/common.c:69 set_track mm/kasan/common.c:77 [inline] kasan_set_free_info mm/kasan/common.c:332 [inline] __kasan_slab_free+0x102/0x150 mm/kasan/common.c:471 kasan_slab_free+0xe/0x10 mm/kasan/common.c:480 __cache_free mm/slab.c:3425 [inline] kmem_cache_free+0x86/0x320 mm/slab.c:3693 shmem_free_in_core_inode+0x63/0xb0 mm/shmem.c:3737 i_callback+0x44/0x80 fs/inode.c:219 __rcu_reclaim kernel/rcu/rcu.h:222 [inline] rcu_do_batch kernel/rcu/tree.c:2157 [inline] rcu_core+0x581/0x1560 kernel/rcu/tree.c:2377 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2386 __do_softirq+0x262/0x98c kernel/softirq.c:292 The buggy address belongs to the object at ffff8880903a8a70 which belongs to the cache shmem_inode_cache(97:syz5) of size 1208 The buggy address is located 424 bytes inside of 1208-byte region [ffff8880903a8a70, ffff8880903a8f28) The buggy address belongs to the page: page:ffffea000240ea00 refcount:1 mapcount:0 mapping:ffff888094a06700 index:0xffff8880903a8ffd flags: 0x1fffc0000000200(slab) raw: 01fffc0000000200 ffff88809cb20d48 ffffea00024c7088 ffff888094a06700 raw: ffff8880903a8ffd ffff8880903a8000 0000000100000003 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880903a8b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880903a8b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880903a8c00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880903a8c80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880903a8d00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================