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] [thread-next>] [day] [month] [year] [list]
Message-ID: <f0378019-01d7-48df-bebf-d2a59e9d8582@intel.com>
Date: Wed, 30 Jul 2025 19:04:29 +0800
From: Xiaoyao Li <xiaoyao.li@...el.com>
To: Sean Christopherson <seanjc@...gle.com>,
 Paolo Bonzini <pbonzini@...hat.com>, Marc Zyngier <maz@...nel.org>,
 Oliver Upton <oliver.upton@...ux.dev>
Cc: kvm@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
 kvmarm@...ts.linux.dev, linux-kernel@...r.kernel.org,
 Ira Weiny <ira.weiny@...el.com>, Gavin Shan <gshan@...hat.com>,
 Shivank Garg <shivankg@....com>, Vlastimil Babka <vbabka@...e.cz>,
 David Hildenbrand <david@...hat.com>, Fuad Tabba <tabba@...gle.com>,
 Ackerley Tng <ackerleytng@...gle.com>, Tao Chan <chentao@...inos.cn>,
 James Houghton <jthoughton@...gle.com>
Subject: Re: [PATCH v17 22/24] KVM: selftests: Do not use hardcoded page sizes
 in guest_memfd test

On 7/30/2025 6:54 AM, Sean Christopherson wrote:
> From: Fuad Tabba <tabba@...gle.com>
> 
> Update the guest_memfd_test selftest to use getpagesize() instead of
> hardcoded 4KB page size values.
> 
> Using hardcoded page sizes can cause test failures on architectures or
> systems configured with larger page sizes, such as arm64 with 64KB
> pages. By dynamically querying the system's page size, the test becomes
> more portable and robust across different environments.
> 
> Additionally, build the guest_memfd_test selftest for arm64.
> 
> Reviewed-by: David Hildenbrand <david@...hat.com>
> Reviewed-by: Shivank Garg <shivankg@....com>
> Reviewed-by: Gavin Shan <gshan@...hat.com>
> Suggested-by: Gavin Shan <gshan@...hat.com>
> Signed-off-by: Fuad Tabba <tabba@...gle.com>
> Signed-off-by: Sean Christopherson <seanjc@...gle.com>

Reviewed-by: Xiaoyao Li <xiaoyao.li@...el.com>

> ---
>   tools/testing/selftests/kvm/Makefile.kvm       |  1 +
>   tools/testing/selftests/kvm/guest_memfd_test.c | 11 ++++++-----
>   2 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
> index 40920445bfbe..963687892bcb 100644
> --- a/tools/testing/selftests/kvm/Makefile.kvm
> +++ b/tools/testing/selftests/kvm/Makefile.kvm
> @@ -174,6 +174,7 @@ TEST_GEN_PROGS_arm64 += arch_timer
>   TEST_GEN_PROGS_arm64 += coalesced_io_test
>   TEST_GEN_PROGS_arm64 += dirty_log_perf_test
>   TEST_GEN_PROGS_arm64 += get-reg-list
> +TEST_GEN_PROGS_arm64 += guest_memfd_test
>   TEST_GEN_PROGS_arm64 += memslot_modification_stress_test
>   TEST_GEN_PROGS_arm64 += memslot_perf_test
>   TEST_GEN_PROGS_arm64 += mmu_stress_test
> diff --git a/tools/testing/selftests/kvm/guest_memfd_test.c b/tools/testing/selftests/kvm/guest_memfd_test.c
> index ce687f8d248f..341ba616cf55 100644
> --- a/tools/testing/selftests/kvm/guest_memfd_test.c
> +++ b/tools/testing/selftests/kvm/guest_memfd_test.c
> @@ -146,24 +146,25 @@ static void test_create_guest_memfd_multiple(struct kvm_vm *vm)
>   {
>   	int fd1, fd2, ret;
>   	struct stat st1, st2;
> +	size_t page_size = getpagesize();
>   
> -	fd1 = __vm_create_guest_memfd(vm, 4096, 0);
> +	fd1 = __vm_create_guest_memfd(vm, page_size, 0);
>   	TEST_ASSERT(fd1 != -1, "memfd creation should succeed");
>   
>   	ret = fstat(fd1, &st1);
>   	TEST_ASSERT(ret != -1, "memfd fstat should succeed");
> -	TEST_ASSERT(st1.st_size == 4096, "memfd st_size should match requested size");
> +	TEST_ASSERT(st1.st_size == page_size, "memfd st_size should match requested size");
>   
> -	fd2 = __vm_create_guest_memfd(vm, 8192, 0);
> +	fd2 = __vm_create_guest_memfd(vm, page_size * 2, 0);
>   	TEST_ASSERT(fd2 != -1, "memfd creation should succeed");
>   
>   	ret = fstat(fd2, &st2);
>   	TEST_ASSERT(ret != -1, "memfd fstat should succeed");
> -	TEST_ASSERT(st2.st_size == 8192, "second memfd st_size should match requested size");
> +	TEST_ASSERT(st2.st_size == page_size * 2, "second memfd st_size should match requested size");
>   
>   	ret = fstat(fd1, &st1);
>   	TEST_ASSERT(ret != -1, "memfd fstat should succeed");
> -	TEST_ASSERT(st1.st_size == 4096, "first memfd st_size should still match requested size");
> +	TEST_ASSERT(st1.st_size == page_size, "first memfd st_size should still match requested size");
>   	TEST_ASSERT(st1.st_ino != st2.st_ino, "different memfd should have different inode numbers");
>   
>   	close(fd2);


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ