Re: [PATCH] KVM: VMX: exit to userspace on exception w/ invalid PM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2018-03-23 09:34-0700, Sean Christopherson:
> Exit to userspace with KVM_INTERNAL_ERROR_EMULATION if we encounter
> an exception in Protected Mode while emulating guest due to invalid
> guest state.  Unlike Big RM, KVM doesn't support emulating exceptions
> in PM, i.e. PM exceptions are always injected via the VMCS.  Because
> we will never do VMRESUME due to emulation_required, the exception is
> never realized and we'll keep emulating the faulting instruction over
> and over until we receive a signal.
> 
> Exit to userspace iff there is a pending exception, i.e. don't exit
> simply on a requested event. The purpose of this check and exit is to
> aid in debugging a guest that is in all likelihood already doomed.
> Invalid guest state in PM is extremely limited in normal operation,
> e.g. it generally only occurs for a few instructions early in BIOS,
> and any exception at this time is all but guaranteed to be fatal.
> Non-vectored interrupts, e.g. INIT, SIPI and SMI, can be cleanly
> handled/emulated, while checking for vectored interrupts, e.g. INTR
> and NMI, without hitting false positives would add a fair amount of
> complexity for almost no benefit (getting hit by lightning seems
> more likely than encountering this specific scenario).
> 
> Add a WARN_ON_ONCE to vmx_queue_exception() if we try to inject an
> exception via the VMCS and emulation_required is true.
> 
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> ---

Queued, thanks.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux