Commit 4f233371 authored by Krish Sadhukhan's avatar Krish Sadhukhan Committed by Paolo Bonzini
Browse files

KVM: nSVM: Check for CR0.CD and CR0.NW on VMRUN of nested guests



According to section "Canonicalization and Consistency Checks" in APM vol. 2,
the following guest state combination is illegal:

	"CR0.CD is zero and CR0.NW is set"

Signed-off-by: default avatarKrish Sadhukhan <krish.sadhukhan@oracle.com>
Message-Id: <20200409205035.16830-2-krish.sadhukhan@oracle.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent a9ab13ff
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -207,6 +207,10 @@ static bool nested_vmcb_checks(struct vmcb *vmcb)
	if ((vmcb->save.efer & EFER_SVME) == 0)
		return false;

	if (((vmcb->save.cr0 & X86_CR0_CD) == 0) &&
	    (vmcb->save.cr0 & X86_CR0_NW))
		return false;

	if ((vmcb->control.intercept & (1ULL << INTERCEPT_VMRUN)) == 0)
		return false;