Re: [PATCH kvm-unit-tests 3/4] x86: vmx: mark "vTPR < threshold" tests as expected to fail

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

 



On Wed, 2018-07-18 at 13:26 -0700, Sean Christopherson wrote:
> KVM relies on hardware to perform the "vTPR < threshold" consistency
> check, i.e. the check will occur after KVM has done some amount of
> guest state checking in software.  As such, KVM will signal a VMExit
> consistency check (due to bad guest state) instead of the expected
> VMFAIL (due to bad controls).

This analysis is wrong, the actual issue is that L1 and L2 were
sharing an APIC access page, which was causing the vTPR check to
pull the value from L1 instead of L2.  That bug was fixed by commit
ab5df31cee7f ("kvm: nVMX: Eliminate APIC access page sharing between
L1 and L2").  The vTPR tests should pass with kvm/{master,next,queue}.

Lucky for me, Paolo didn't queue this patch, so nothing further needs
to be done.

> Cc: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> ---
>  x86/vmx_tests.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
> index c4803a3..031bf66 100644
> --- a/x86/vmx_tests.c
> +++ b/x86/vmx_tests.c
> @@ -3726,7 +3726,7 @@ static void try_tpr_threshold_and_vtpr(unsigned threshold, unsigned vtpr)
>  	set_vtpr(vtpr);
>  	report_prefix_pushf("TPR threshold 0x%x, VTPR.class 0x%x",
>  	    threshold, (vtpr >> 4) & 0xf);
> -	test_vmx_controls(valid, false);
> +	test_vmx_controls(valid, !valid);
>  	report_prefix_pop();
>  }
>  



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux