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

Commit d9f89b88 authored by Jan Kiszka's avatar Jan Kiszka Committed by Paolo Bonzini
Browse files

KVM: x86: Fix CR3 reserved bits check in long mode



Regression of 346874c9: PAE is set in long mode, but that does not mean
we have valid PDPTRs.

Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 87c00572
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -701,9 +701,10 @@ int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3)
		return 0;
	}

	if (is_long_mode(vcpu) && (cr3 & CR3_L_MODE_RESERVED_BITS))
	if (is_long_mode(vcpu)) {
		if (cr3 & CR3_L_MODE_RESERVED_BITS)
			return 1;
	if (is_pae(vcpu) && is_paging(vcpu) &&
	} else if (is_pae(vcpu) && is_paging(vcpu) &&
		   !load_pdptrs(vcpu, vcpu->arch.walk_mmu, cr3))
		return 1;