lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aPLAch-UpHtCeK_s@google.com>
Date: Fri, 17 Oct 2025 15:17:22 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Yan Zhao <yan.y.zhao@...el.com>
Cc: Paolo Bonzini <pbonzini@...hat.com>, kvm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] KVM: selftests: Use "gpa" and "gva" for local variable
 names in pre-fault test

On Tue, Oct 14, 2025, Yan Zhao wrote:
> On Tue, Oct 07, 2025 at 03:45:15PM -0700, Sean Christopherson wrote:
> > -	guest_test_phys_mem = align_down(guest_test_phys_mem, alignment);
> > -	guest_test_virt_mem = guest_test_phys_mem & ((1ULL << (vm->va_bits - 1)) - 1);
> > +	gpa = align_down(gpa, alignment);
> > +	gva = gpa & ((1ULL << (vm->va_bits - 1)) - 1);
> >  
> > -	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS,
> > -				    guest_test_phys_mem, TEST_SLOT, TEST_NPAGES,
> > +	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa,
> Wrap at 80 characters?
> 
> > +				    TEST_SLOT, TEST_NPAGES,

Hmm, yeah.  Probably this?

	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa, TEST_SLOT,
				    TEST_NPAGES, private ? KVM_MEM_GUEST_MEMFD : 0);

which I like more than:

	vm_userspace_mem_region_add(vm, VM_MEM_SRC_ANONYMOUS, gpa, TEST_SLOT,
				    TEST_NPAGES,
				    private ? KVM_MEM_GUEST_MEMFD : 0);

> >  				    private ? KVM_MEM_GUEST_MEMFD : 0);
> > -	virt_map(vm, guest_test_virt_mem, guest_test_phys_mem, TEST_NPAGES);
> > +	virt_map(vm, gva, gpa, TEST_NPAGES);
> >  
> >  	if (private)
> > -		vm_mem_set_private(vm, guest_test_phys_mem, TEST_SIZE);
> > +		vm_mem_set_private(vm, gpa, TEST_SIZE);
> >  
> > -	pre_fault_memory(vcpu, guest_test_phys_mem, 0, SZ_2M, 0, private);
> > -	pre_fault_memory(vcpu, guest_test_phys_mem, SZ_2M, PAGE_SIZE * 2, PAGE_SIZE, private);
> > -	pre_fault_memory(vcpu, guest_test_phys_mem, TEST_SIZE, PAGE_SIZE, PAGE_SIZE, private);
> > +	pre_fault_memory(vcpu, gpa, 0, SZ_2M, 0, private);
> > +	pre_fault_memory(vcpu, gpa, SZ_2M, PAGE_SIZE * 2, PAGE_SIZE, private);
> > +	pre_fault_memory(vcpu, gpa, TEST_SIZE, PAGE_SIZE, PAGE_SIZE, private);
> >  
> > -	vcpu_args_set(vcpu, 1, guest_test_virt_mem);
> > +	vcpu_args_set(vcpu, 1, gva);
> Should we cleanup guest_code() as below?
> 
> -static void guest_code(uint64_t base_gpa)
> +static void guest_code(uint64_t base_gva)
>  {
>         volatile uint64_t val __used;
>         int i;
> 
>         for (i = 0; i < TEST_NPAGES; i++) {
> -               uint64_t *src = (uint64_t *)(base_gpa + i * PAGE_SIZE);
> +               uint64_t *src = (uint64_t *)(base_gva + i * PAGE_SIZE);
> 
>                 val = *src;
>         }

Yah, no reason not to (lot's of tests assume GPA==GVA, but that's not a good
reason to be deliberately confusing).

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ