[PATCH v2 0/3] fix emulation error on Windows bootup

From: Jan Dakinevich
Date: Wed Aug 28 2019 - 13:02:59 EST


This series intended to fix (again) a bug that was a subject of the
following change:

6ea6e84 ("KVM: x86: inject exceptions produced by x86_decode_insn")

Suddenly, that fix had a couple mistakes. First, ctxt->have_exception was
not set if fault happened during instruction decoding. Second, returning
value of inject_emulated_instruction was used to make the decision to
reenter guest, but this could happen iff on nested page fault, that is not
the scope where this bug could occur.

v1:
https://lkml.org/lkml/2019/8/27/881

v2
- reorder commits, rebase on top kvm/queue
- add sanity check for exception value of exception vector

Jan Dakinevich (3):
KVM: x86: always stop emulation on page fault
KVM: x86: make exception_class() and exception_type() globally visible
KVM: x86: set ctxt->have_exception in x86_decode_insn()

arch/x86/kvm/emulate.c | 5 +++++
arch/x86/kvm/x86.c | 50 +++-----------------------------------------------
arch/x86/kvm/x86.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 54 insertions(+), 47 deletions(-)

--
2.1.4