Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72e0ae58 authored by Liang Li's avatar Liang Li Committed by Paolo Bonzini
Browse files

vmx: refine validity check for guest linear address



The validity check for the guest line address is inefficient,
check the invalid value instead of enumerating the valid ones.

Signed-off-by: default avatarLiang Li <liang.z.li@intel.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 4174879b
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -6109,7 +6109,7 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)
	exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
	exit_qualification = vmcs_readl(EXIT_QUALIFICATION);


	gla_validity = (exit_qualification >> 7) & 0x3;
	gla_validity = (exit_qualification >> 7) & 0x3;
	if (gla_validity != 0x3 && gla_validity != 0x1 && gla_validity != 0) {
	if (gla_validity == 0x2) {
		printk(KERN_ERR "EPT: Handling EPT violation failed!\n");
		printk(KERN_ERR "EPT: Handling EPT violation failed!\n");
		printk(KERN_ERR "EPT: GPA: 0x%lx, GVA: 0x%lx\n",
		printk(KERN_ERR "EPT: GPA: 0x%lx, GVA: 0x%lx\n",
			(long unsigned int)vmcs_read64(GUEST_PHYSICAL_ADDRESS),
			(long unsigned int)vmcs_read64(GUEST_PHYSICAL_ADDRESS),