On Thu, Jun 12, 2025 at 12:49:43AM -0400, Paolo Bonzini wrote: > 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@xxxxxxxxxx>. > > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > --- > arch/x86/kvm/mmu/mmu.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index a4040578b537..4e06e2e89a8f 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -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; > + Do we need the same check in kvm_vm_ioctl_set_mem_attributes()? > /* > * reload is efficient when called repeatedly, so we can do it on > * every iteration. > -- > 2.43.5 >