Right, this is exactly what i wanted to say. :)
On 05/23/2017 12:04 AM, Jim Mattson wrote:
Ah. I had assumed that vmx->exit_reason recorded ony the basic exit
reason, since all of the EXIT_REASON macros have bit 31 stripped. The
check at the very beginning of vmx_complete_atomic_exit is therefore
wrong, since EXIT_REASON_MCE_DURING_VMENTRY (41) will never be seen in
the exit reason field of the VMCS. If a machine check occurs during
VM-entry, the exit reason is 0x80000029, not 41.
On Mon, May 22, 2017 at 1:26 AM, Xiao Guangrong
<guangrong.xiao@xxxxxxxxx> wrote:
On 05/19/2017 07:02 AM, Jim Mattson wrote:
When bit 31 of the exit reason is set to indicate a VM-entry failure,
only the exit reason and exit qualification fields are set. All other
VM-exit information fields, including "VM-exit interruption
information," are unmodified.
This log does not reflects what it is doing. The case that
exit-reason.bit31 = 1 is skipped by the check at the very beginning of
vmx_complete_atomic_exit().
Maybe what you want to say is just "exit_intr_info is not valid if vmx
exit is caused by EXIT_REASON_MCE_DURING_VMENTRY"?