Revision 4c4a6f790ee862ee9f0dc8b35c71f55bcf792b71 authored by Paolo Bonzini on 14 July 2017, 11:36:11 UTC, committed by Radim Krčmář on 19 July 2017, 14:05:41 UTC
vmx_recover_nmi_blocking is using a cached value of the guest
interruptibility info, which is stored in vmx->nmi_known_unmasked.
vmx_recover_nmi_blocking is run for both normal and nested guests,
so the cached value must be per-VMCS.

This fixes eventinj.flat in a nested non-EPT environment.  With EPT it
works, because the EPT violation handler doesn't have the
vmx->nmi_known_unmasked optimization (it is unnecessary because, unlike
vmx_recover_nmi_blocking, it can just look at the exit qualification).

Thanks to Wanpeng Li for debugging the testcase and providing an initial
patch.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
1 parent f85c758
History
File Mode Size
Makefile -rw-r--r-- 209 bytes
callchain.c -rw-r--r-- 6.2 KB
core.c -rw-r--r-- 264.3 KB
hw_breakpoint.c -rw-r--r-- 15.5 KB
internal.h -rw-r--r-- 5.8 KB
ring_buffer.c -rw-r--r-- 20.2 KB
uprobes.c -rw-r--r-- 50.0 KB

back to top