================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x3a8b/0x4a00 kernel/locking/lockdep.c:3828 Read of size 8 at addr ffff8880a49861a8 by task syz-executor.2/32600 CPU: 1 PID: 32600 Comm: syz-executor.2 Not tainted 5.3.0-rc6-next-20190830 #75 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:2047 __do_fault+0x111/0x540 mm/memory.c:3098 do_read_fault mm/memory.c:3495 [inline] do_fault mm/memory.c:3624 [inline] handle_pte_fault mm/memory.c:3855 [inline] __handle_mm_fault+0x2cb8/0x3f20 mm/memory.c:3979 handle_mm_fault+0x1b5/0x6c0 mm/memory.c:4016 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:ffff888061827400 EFLAGS: 00010203 RAX: 0000000000040000 RBX: 0000000000000140 RCX: 0000000000000001 RDX: 0000000000000007 RSI: 0000000020000140 RDI: ffff88806479a690 RBP: ffff888061827430 R08: ffff888099f5e240 R09: ffff888090695380 R10: 0000000000001a5c R11: ffffea000191e607 R12: 000000000000000f R13: ffff88806479a690 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:5224 __do_insn_fetch_bytes+0x323/0x6f0 arch/x86/kvm/emulate.c:912 x86_decode_insn+0x1878/0x5660 arch/x86/kvm/emulate.c:5166 x86_emulate_instruction+0x96b/0x1d40 arch/x86/kvm/x86.c:6530 kvm_mmu_page_fault+0x370/0x1410 arch/x86/kvm/mmu.c:5434 handle_ept_violation+0x1ef/0x550 arch/x86/kvm/vmx/vmx.c:5130 vmx_handle_exit+0x299/0x15f0 arch/x86/kvm/vmx/vmx.c:5896 vcpu_enter_guest+0x1087/0x6200 arch/x86/kvm/x86.c:8105 vcpu_run arch/x86/kvm/x86.c:8169 [inline] kvm_arch_vcpu_ioctl_run+0x424/0x1750 arch/x86/kvm/x86.c:8377 kvm_vcpu_ioctl+0x4dc/0xf50 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:0x4598e9 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:00007f0431268c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00000000004598e9 RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000006 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f04312696d4 R13: 00000000004c2c68 R14: 00000000004d6330 R15: 00000000ffffffff Allocated by task 32600: 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:3743 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:2241 __shmem_file_setup.part.0+0x1e2/0x2b0 mm/shmem.c:4108 __shmem_file_setup mm/shmem.c:4102 [inline] shmem_kernel_file_setup mm/shmem.c:4138 [inline] shmem_zero_setup+0xe1/0x4cc mm/shmem.c:4182 mmap_region+0x13d5/0x1760 mm/mmap.c:1822 do_mmap+0x853/0x1190 mm/mmap.c:1577 do_mmap_pgoff include/linux/mm.h:2349 [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 3892: 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:3753 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 ffff8880a4986000 which belongs to the cache shmem_inode_cache(65:syz2) of size 1208 The buggy address is located 424 bytes inside of 1208-byte region [ffff8880a4986000, ffff8880a49864b8) The buggy address belongs to the page: page:ffffea0002926180 refcount:1 mapcount:0 mapping:ffff88809fe728c0 index:0xffff8880a4986ffd flags: 0x1fffc0000000200(slab) raw: 01fffc0000000200 ffffea0001806808 ffffea00023b2988 ffff88809fe728c0 raw: ffff8880a4986ffd ffff8880a4986000 0000000100000003 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a4986080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a4986100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880a4986180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880a4986200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a4986280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================