Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 24 Oct 2014 15:26:10 -0700 | Subject | Re: [PATCH 08/14] kvm: x86: don't kill guest on unknown exit reason |
| |
On Fri, Oct 24, 2014 at 2:54 PM, Paolo Bonzini <pbonzini@redhat.com> wrote: > On 10/24/2014 07:57 PM, Andy Lutomirski wrote: >> > KVM_EXIT_UNKNOWN is a kvm bug, we don't really know whether it was >> > triggered by a priveledged application. Let's not kill the guest: WARN >> > and inject #UD instead. >> >> This scares me a bit. For guest CPL3, it's probably okay. For guest >> CPL0, on the other hand, #UD might not use IST (or a task switch on >> 32-bit guests), resulting in possible corruption if unprivileged code >> controls SP. Admittedly, there aren't that many contexts from which >> that should happen (on Linux, at least), but something like #DF (or even >> a triple fault) might be safer if the guest is at CPL0 when this happens. > > This in practice will only happen for VMX instructions (INVVPID in this > patch set, INVEPT on some older kernels); all other intercepts can be > turned on or off at will. > > For unknown exits we will not have exposed those instructions in the VMX > capabilities (or perhaps we will not have exposed VMX at all in CPUID on > the older kernels). So #UD is the right thing to do. >
Fair enough.
--Andy
| |