Re: BUG: unable to handle kernel paging request in lock_acquire

From: Dmitry Vyukov
Date: Tue Dec 19 2017 - 07:17:38 EST


On Sun, Dec 3, 2017 at 3:33 PM, syzbot
<bot+c2f0aae104fa230ae495207c9108dafcdfff6126@xxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
> Hello,
>
> syzkaller hit the following crash on
> fb20eb9d798d2f4c1a75b7fe981d72dfa8d7270d
> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/master
> compiler: gcc (GCC) 7.1.1 20170620
> .config is attached
> Raw console output is attached.
>
> Unfortunately, I don't have any reproducer for this bug yet.
>
>
> kvm: pic: non byte read
> BUG: unable to handle kernel paging request at 00000000ceaade8f
> IP: lock_acquire+0x183/0x580 kernel/locking/lockdep.c:4002
> PGD 5e28067 P4D 5e28067 PUD 5e2a067 PMD 0
> Oops: 0002 [#1] SMP KASAN
> Dumping ftrace buffer:
> (ftrace buffer empty)
> Modules linked in:
> CPU: 1 PID: 3607 Comm: syz-executor6 Not tainted 4.15.0-rc1-next-20171201+
> #57
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> task: 0000000065c3b570 task.stack: 0000000059ab470a
> RIP: 0010:lock_acquire+0x183/0x580 kernel/locking/lockdep.c:4002
> RSP: 0018:ffff8801db507cc0 EFLAGS: 00010046
> RAX: 0000000000000007 RBX: 0000000000000000 RCX: 0000000000000000
> RDX: ffff8801d8500080 RSI: 0000000000000000 RDI: ffff8801d8500904
> RBP: ffff8801db507db8 R08: 0000000000000001 R09: 0000000000000000
> R10: 1ffff1003b6a0f9e R11: 0000000000000000 R12: 1ffff1003b6a0f9e
> R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
> FS: 00007fc4d51b2700(0000) GS:ffff8801db500000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: fffffffffffffff8 CR3: 00000001d8bae000 CR4: 00000000001426e0
> Call Trace:
> <IRQ>
> __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> _raw_spin_lock_irqsave+0x96/0xc0 kernel/locking/spinlock.c:159
> hrtimer_interrupt+0xc2/0x6f0 kernel/time/hrtimer.c:1450
> local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1025 [inline]
> smp_apic_timer_interrupt+0x14a/0x700 arch/x86/kernel/apic/apic.c:1050
> apic_timer_interrupt+0xa9/0xb0 arch/x86/entry/entry_64.S:907
> </IRQ>
> RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:777
> [inline]
> RIP: 0010:console_unlock+0x954/0xd70 kernel/printk/printk.c:2235
> RSP: 0018:ffff8801d8516ce8 EFLAGS: 00000212 ORIG_RAX: ffffffffffffff11
> RAX: 0000000000010000 RBX: 0000000000000000 RCX: ffffffff8159c42b
> RDX: 00000000000045d5 RSI: ffffc900032ec000 RDI: 0000000000000212
> RBP: ffff8801d8516dd0 R08: 1ffff1003b0a2d6b R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
> R13: 0000000000000000 R14: dffffc0000000000 R15: ffffffff83a24260
> vprintk_emit+0x4ad/0x590 kernel/printk/printk.c:1757
> vprintk_default+0x28/0x30 kernel/printk/printk.c:1796
> vprintk_func+0x57/0xc0 kernel/printk/printk_safe.c:379
> printk+0xaa/0xca kernel/printk/printk.c:1829
> picdev_read+0x53c/0x610 arch/x86/kvm/i8259.c:488
> picdev_slave_read+0x31/0x40 arch/x86/kvm/i8259.c:536
> kvm_iodevice_read include/kvm/iodev.h:59 [inline]
> __kvm_io_bus_read arch/x86/kvm/../../../virt/kvm/kvm_main.c:3534 [inline]
> kvm_io_bus_read+0x3e0/0x740 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3560
> kernel_pio+0xeb/0x240 arch/x86/kvm/x86.c:4912
> emulator_pio_in_out arch/x86/kvm/x86.c:4934 [inline]
> emulator_pio_in_emulated+0x1e7/0x840 arch/x86/kvm/x86.c:4961
> pio_in_emulated arch/x86/kvm/emulate.c:1481 [inline]
> em_in+0x562/0xa30 arch/x86/kvm/emulate.c:3834
> x86_emulate_insn+0x55d/0x3cf0 arch/x86/kvm/emulate.c:5522
> x86_emulate_instruction+0x411/0x1ad0 arch/x86/kvm/x86.c:5771
> emulate_instruction arch/x86/include/asm/kvm_host.h:1164 [inline]
> handle_io+0xa4/0xd0 arch/x86/kvm/vmx.c:6028
> vmx_handle_exit+0x25d/0x1ce0 arch/x86/kvm/vmx.c:8893
> vcpu_enter_guest arch/x86/kvm/x86.c:7084 [inline]
> vcpu_run arch/x86/kvm/x86.c:7146 [inline]
> kvm_arch_vcpu_ioctl_run+0x1cb4/0x5c60 arch/x86/kvm/x86.c:7314
> kvm_vcpu_ioctl+0x64c/0x1010 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2574
> vfs_ioctl fs/ioctl.c:46 [inline]
> do_vfs_ioctl+0x1b1/0x1530 fs/ioctl.c:686
> SYSC_ioctl fs/ioctl.c:701 [inline]
> SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692
> entry_SYSCALL_64_fastpath+0x1f/0x96
> RIP: 0033:0x4529d9
> RSP: 002b:00007fc4d51b1c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000010
> RAX: ffffffffffffffda RBX: 00007fc4d51b0810 RCX: 00000000004529d9
> RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000017
> RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000212 R12: 0000000000000019
> R13: 0000000020aad000 R14: 00007fc4d51b26d4 R15: 0000000000000000
> Code: df 48 89 f9 48 c1 e9 03 0f b6 0c 01 48 89 f8 83 e0 07 83 c0 03 38 c8
> 7c 08 84 c9 0f 85 fe 02 00 00 c7 82 84 08 00 00 01 00 00 00 <cc> 1f 44 00 00
> 65 8b 05 b1 c9 aa 7e 89 c0 48 0f a3 05 37 5f 08
> RIP: lock_acquire+0x183/0x580 kernel/locking/lockdep.c:4002 RSP:
> ffff8801db507cc0
> CR2: fffffffffffffff8
> ---[ end trace 12ded351949fdf5b ]---

#syz dup: BUG: unable to handle kernel paging request in __switch_to


> ---
> This bug is generated by a dumb bot. It may contain errors.
> See https://goo.gl/tpsmEJ for details.
> Direct all questions to syzkaller@xxxxxxxxxxxxxxxxx
> Please credit me with: Reported-by: syzbot <syzkaller@xxxxxxxxxxxxxxxx>
>
> syzbot will keep track of this bug report.
> Once a fix for this bug is committed, please reply to this email with:
> #syz fix: exact-commit-title
> To mark this as a duplicate of another syzbot report, please reply with:
> #syz dup: exact-subject-of-another-report
> If it's a one-off invalid bug report, please reply with:
> #syz invalid
> Note: if the crash happens again, it will cause creation of a new bug
> report.
> Note: all commands must start from beginning of the line in the email body.
>
> --
> You received this message because you are subscribed to the Google Groups
> "syzkaller-bugs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to syzkaller-bugs+unsubscribe@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/syzkaller-bugs/001a1143e6cc96ff49055f707aad%40google.com.
> For more options, visit https://groups.google.com/d/optout.