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

Re: [Xen-devel] Crash of guest with nested vmx with Unknown nested vmexit reason 80000021.



Hi,

Is there any test I can do on changed code?

mvg,
Jeroen.

Jan Beulich schreef op 16-10-2014 om 08:41:
On 16.10.14 at 08:18, <yang.z.zhang@xxxxxxxxx> wrote:
Sorry for the later reply. Yes, this is a known issue to me but I didn't
have time to cook a patch fix it. As Jan pointed out, the NMI handling logic
is wrong in current nested logic. But it is not a trivial task to fix them. I
will do it once I have the time or if you are interesting in it, a patch from
you is welcome.
If you were to at least comment on the two possible routes I
outlined (quoted below), I could see to get to this (considering
that the issue - as you point out subsequently - got brought up
more than half a year ago the first time, and is still unaddressed)
at least if the vmx_idtv_reinject() related route would be a
possible one.

Jan

From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
So the problem here is that

(XEN) Interruptibility=0008 ActivityState=0000
VMX_INTR_SHADOW_NMI is set while

(XEN) PinBased=0000003f CPUBased=b6b9e5fa SecondaryExec=000004eb
PIN_BASED_VIRTUAL_NMIS is active and

(XEN) VMEntry: intr_info=80000202 errcode=5d021101 ilen=00000003
(XEN) VMExit: intr_info=00000000 errcode=00000000 ilen=00000003
(XEN)         reason=80000021 qualification=00000000
(XEN) IDTVectoring: info=80000202 errcode=00000000
an NMI is being injected. This case is explicitly mentioned in Vol
3 section 31.7.1.2 (Resuming Guest Software after Handling an
Exception). Either there needs to be extra code in vvmx.c to clear
VMX_INTR_SHADOW_NMI (as the second sub-bullet point of the last
bullet point says), or the second half of vmx_idtv_reinject() needs
to be done without regard to nestedhvm_vcpu_in_guestmode(v) (and
maybe also without regard to EXIT_REASON_TASK_SWITCH).

Speaking of SDM sections: There are quite a few references in the
code that name just section numbers (in the case here, several
references to sections 25.7.1.* exist). These numbers become stale
quite quickly (here they're now 31.7.1.*), so in order to help
digging through issues like the one here, can I please ask one of
you to go through and replace (or at least amend) these numbers
with the sections' titles (which I hope won't get altered that quickly)?




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.