============================================ WARNING: possible recursive locking detected 4.16.0-rc2+ #327 Not tainted -------------------------------------------- syz-executor6/21575 is trying to acquire lock: (&mm->mmap_sem){++++}, at: [<0000000016a7373b>] __get_user_pages_locked mm/gup.c:909 [inline] (&mm->mmap_sem){++++}, at: [<0000000016a7373b>] get_user_pages_unlocked+0x218/0x4f0 mm/gup.c:990 but task is already holding lock: (&mm->mmap_sem){++++}, at: [<000000005c75e93f>] get_user_pages_unlocked+0xff/0x4f0 mm/gup.c:989 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&mm->mmap_sem); lock(&mm->mmap_sem); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz-executor6/21575: #0: (&vcpu->mutex){+.+.}, at: [<0000000014f36086>] kvm_vcpu_ioctl+0x1d1/0xff0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2543 #1: (&kvm->srcu){....}, at: [<00000000e8aac205>] vcpu_enter_guest arch/x86/kvm/x86.c:7218 [inline] #1: (&kvm->srcu){....}, at: [<00000000e8aac205>] vcpu_run arch/x86/kvm/x86.c:7297 [inline] #1: (&kvm->srcu){....}, at: [<00000000e8aac205>] kvm_arch_vcpu_ioctl_run+0x1b3b/0x5c80 arch/x86/kvm/x86.c:7464 #2: (&mm->mmap_sem){++++}, at: [<000000005c75e93f>] get_user_pages_unlocked+0xff/0x4f0 mm/gup.c:989 stack backtrace: CPU: 0 PID: 21575 Comm: syz-executor6 Not tainted 4.16.0-rc2+ #327 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x24d lib/dump_stack.c:53 print_deadlock_bug kernel/locking/lockdep.c:1761 [inline] check_deadlock kernel/locking/lockdep.c:1805 [inline] validate_chain kernel/locking/lockdep.c:2401 [inline] __lock_acquire+0xe8f/0x3e00 kernel/locking/lockdep.c:3431 lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:3920 down_read+0x96/0x150 kernel/locking/rwsem.c:24 __get_user_pages_locked mm/gup.c:909 [inline] get_user_pages_unlocked+0x218/0x4f0 mm/gup.c:990 hva_to_pfn_slow arch/x86/kvm/../../../virt/kvm/kvm_main.c:1382 [inline] hva_to_pfn arch/x86/kvm/../../../virt/kvm/kvm_main.c:1490 [inline] __gfn_to_pfn_memslot+0x386/0xff0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:1546 try_async_pf+0x13b/0xc40 arch/x86/kvm/mmu.c:3814 tdp_page_fault+0x40a/0xa70 arch/x86/kvm/mmu.c:3910 kvm_mmu_page_fault+0x10d/0x310 arch/x86/kvm/mmu.c:4940 handle_ept_violation+0x198/0x550 arch/x86/kvm/vmx.c:6753 vmx_handle_exit+0x25d/0x1ce0 arch/x86/kvm/vmx.c:8957 vcpu_enter_guest arch/x86/kvm/x86.c:7235 [inline] vcpu_run arch/x86/kvm/x86.c:7297 [inline] kvm_arch_vcpu_ioctl_run+0x1c93/0x5c80 arch/x86/kvm/x86.c:7464 kvm_vcpu_ioctl+0x6f1/0xff0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2561 vfs_ioctl fs/ioctl.c:46 [inline] do_vfs_ioctl+0x1b1/0x1520 fs/ioctl.c:686 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692 do_syscall_64+0x280/0x940 arch/x86/entry/common.c:287 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x453de9 RSP: 002b:00007fec553b2c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fec553b36d4 RCX: 0000000000453de9 RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000017 RBP: 000000000072c0c8 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 000000000000023b R14: 00000000006f3628 R15: 0000000000000003 WARNING: CPU: 0 PID: 21575 at mm/gup.c:498 faultin_page mm/gup.c:498 [inline] WARNING: CPU: 0 PID: 21575 at mm/gup.c:498 __get_user_pages+0x10a7/0x15f0 mm/gup.c:699