kvm: WARNING in em_ret_far
From: Dmitry Vyukov
Date: Sat Nov 12 2016 - 16:32:24 EST
Hello,
The following program triggers WARNING in em_ret_far:
https://gist.githubusercontent.com/dvyukov/12bc06a5f638d91953f94bcbe49bcc89/raw/6d863470808a695c085620664b7134864b2eb2a9/gistfile1.txt
On commit 015ed9433be2b476ec7e2e6a9a411a56e3b5b035 (Nov 11).
WARNING: CPU: 2 PID: 3668 at arch/x86/kvm/emulate.c:2217 em_ret_far+0x428/0x480
Kernel panic - not syncing: panic_on_warn set ...
CPU: 2 PID: 3668 Comm: syz-executor Not tainted 4.9.0-rc4+ #49
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
ffff88006b32f618 ffffffff81c2e46b ffffffff83270ec0 ffff88006b32f6f0
ffffffff83225600 ffffffff8110a218 ffff88006b32f6e0 ffffffff81546463
0000000041b58ab3 ffffffff837cda55 ffffffff815462ac ffffffff815470e9
Call Trace:
[< inline >] __dump_stack lib/dump_stack.c:15
[<ffffffff81c2e46b>] dump_stack+0xb3/0x118 lib/dump_stack.c:51
[<ffffffff81546463>] panic+0x1b7/0x3a3 kernel/panic.c:179
[<ffffffff8123e014>] __warn+0x1c4/0x1e0 kernel/panic.c:542
[<ffffffff8123e1fc>] warn_slowpath_null+0x2c/0x40 kernel/panic.c:585
[<ffffffff8110a218>] em_ret_far+0x428/0x480 arch/x86/kvm/emulate.c:2217
[<ffffffff8110a287>] em_ret_far_imm+0x17/0x70 arch/x86/kvm/emulate.c:2227
[<ffffffff81111baa>] x86_emulate_insn+0x87a/0x3730 arch/x86/kvm/emulate.c:5294
[<ffffffff810ad160>] x86_emulate_instruction+0x520/0x1ba0
arch/x86/kvm/x86.c:5545
[< inline >] emulate_instruction arch/x86/include/asm/kvm_host.h:1116
[< inline >] complete_emulated_io arch/x86/kvm/x86.c:6870
[<ffffffff810aecc9>] complete_emulated_mmio+0x4e9/0x710 arch/x86/kvm/x86.c:6934
[<ffffffff810bbffa>] kvm_arch_vcpu_ioctl_run+0x3b7a/0x5a90
arch/x86/kvm/x86.c:6978
[<ffffffff81060cee>] kvm_vcpu_ioctl+0x61e/0xdd0
arch/x86/kvm/../../../virt/kvm/kvm_main.c:2557
[< inline >] vfs_ioctl fs/ioctl.c:43
[<ffffffff816b03cc>] do_vfs_ioctl+0x18c/0x1040 fs/ioctl.c:679
[< inline >] SYSC_ioctl fs/ioctl.c:694
[<ffffffff816b130f>] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685
[<ffffffff831f0dc1>] entry_SYSCALL_64_fastpath+0x1f/0xc2
Dumping ftrace buffer:
(ftrace buffer empty)
Kernel Offset: disabled
reboot: cpu_has_vmx: ecx=80a02021 1