[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/hvm: Fix the unknown nested vmexit reason 80000021 bug
On Tue, Apr 7, 2015 at 5:11 PM, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > On 07/04/15 14:27, Liang Li wrote: >> This bug will be trigged when NMI happen in the L2 guest. The current >> code handles the NMI incorrectly. According to Intel SDM 31.7.1.2 >> (Resuming Guest Software after Handling an Exception), If bit 31 of the >> IDT-vectoring information fields is set, and the virtual NMIs VM-execution >> control is 1, while bits 10:8 in the IDT-vectoring information field is >> 2, bit 3 in the interruptibility-state field should be cleared to avoid >> the next VM entry fail. >> >> Signed-off-by: Liang Li <liang.z.li@xxxxxxxxx> >> --- >> xen/arch/x86/hvm/vmx/vmx.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c >> index e1c55ce..b1f2df8 100644 >> --- a/xen/arch/x86/hvm/vmx/vmx.c >> +++ b/xen/arch/x86/hvm/vmx/vmx.c >> @@ -2621,7 +2621,8 @@ static void vmx_idtv_reinject(unsigned long idtv_info) >> * Clear NMI-blocking interruptibility info if an NMI delivery >> faulted. >> * Re-delivery will re-set it (see SDM 3B 25.7.1.2). >> */ >> - if ( (idtv_info & INTR_INFO_INTR_TYPE_MASK) == >> (X86_EVENTTYPE_NMI<<8) ) >> + if ( cpu_has_vmx_vnmi && ((idtv_info & INTR_INFO_INTR_TYPE_MASK) == >> + (X86_EVENTTYPE_NMI<<8)) ) > > This would be easier to read as > > if ( cpu_has_vmx_vnmi && > (idtv_info & INTR_INFO_INTR_TYPE_MASK) == (X86_EVENTTYPE_NMI<<8)) ) I was going to say something similar, but I think in the past Jan has said that Liang's original is more in line with the coding style. But I'll let him comment. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |