Commit 8046d29d authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

KVM: x86/mmu: Reject direct bits in gpa passed to KVM_PRE_FAULT_MEMORY



Only let userspace pass the same addresses that were used in KVM_SET_USER_MEMORY_REGION
(or KVM_SET_USER_MEMORY_REGION2); gpas in the the upper half of the address space
are an implementation detail of TDX and KVM.

Extracted from a patch by Sean Christopherson <seanjc@google.com>.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent aa2024c0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4903,6 +4903,9 @@ long kvm_arch_vcpu_pre_fault_memory(struct kvm_vcpu *vcpu,
	if (!vcpu->kvm->arch.pre_fault_allowed)
		return -EOPNOTSUPP;

	if (kvm_is_gfn_alias(vcpu->kvm, gpa_to_gfn(range->gpa)))
		return -EINVAL;

	/*
	 * reload is efficient when called repeatedly, so we can do it on
	 * every iteration.