From nobody Sun Oct 5 21:49:27 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AAD502D4B47 for ; Tue, 29 Jul 2025 22:56:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753829771; cv=none; b=D+UKdBIINWCHSwJ+3A/he3141VRBiRvwtNGqw+SsmXV3Qv7li3zw8VLxPGKi+FdgWVca2cgXqzF0MX4CIap++H5gIbLurMt7pZFUbmtQ+JMmmIt4Jgw7AHYZI79pziksgW7tBsGDecRYRowk8Klt9qxf+E/81nULDLEjjVosw5Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753829771; c=relaxed/simple; bh=OHF0d3xJE+lvk3i6OCBD5mRif8KdjhliFuoV3VGobDk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=P1/0obkZdNJFuQh0Z49T5ll4ru5J1WkPKHrY37oydCBMl61/fb7Xrn0OfRjBSx+WNZTEA8mktAsqkQ5orEY2M5acl7kKCH/wofmzqoEF8kGGKKiQhlepOaLOgNsGl0Ok/5ncvIFXAVqSYn5Na16/QGIKmRmwVhz/nlJoev1Dqd8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=yK+99fF4; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="yK+99fF4" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-31ea14cc097so3157271a91.3 for ; Tue, 29 Jul 2025 15:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1753829769; x=1754434569; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=+ESC0itWrrYha2Tf9gSEwP/cvcMjKDVsb022arfffBY=; b=yK+99fF405r5uq1Ws9LPVXuOG52sd26T5Jvmpm9j92Cxn7Gof8MySx333f8FJX+OEz d0mU5ucN84y63LoLsPdVzju04tuPN8i9L63jylIuSQIVG/6TXH0MTsiTjm7/SX40Fyar XxY5d3vVuU3MCkAgiD2U9pqfrdbK6dubpgWrCk6ERI/FcDANSIXqUIHa8U5i0hL2FHaR 37ovO/UKY8fhYiWOzLBb/kSJ7D0i8ob7SyisWmiTwEol04gvGIWjGpH3e974WdAOFSVW p6DxETP8UH3xLXwBLH8grAntRjR/dClAu3jrIEF5cIxSi62Jl/5FqMUxBZtZ3YtchQ3S UUKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753829769; x=1754434569; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+ESC0itWrrYha2Tf9gSEwP/cvcMjKDVsb022arfffBY=; b=b8JVLPZ7A7dIzknKvpxZrpoKF/GEr/WBdh5CWPBs4kRChqKHfFvg6jHnT3y2GYW1RN VOhoyL3WD2cjnyRZ/9GPt5DyV1U+BXDXTDnDFEHK9QJZ4/hAOg+rQSoVHkXqRbX6zTh7 GrAYvUlJeJzN52jOjaFfE58+uzs6R6UV+QzQEHcS4x9qySgXskkVYMRnOs/dCvQ/iHvM AYpp3Y14jWRB9xnFtP5CY30Uk9FzLkUTg7QIg1oo4W86lKDz/wJ1Pr6ia0qt4GLJfZbf 7kdEl2jYul7nqYA6adrzKBCDbi/f4efCYG/k3kWU/ta1m4Ph6vGYWkXnYuc1pHM1BXCA 2+HQ== X-Forwarded-Encrypted: i=1; AJvYcCUbanzdyE2krfgqHmmArMNH/8vPRJo+FF9DCXsdcuMEKkQVXgP6GQmYFN0DJJX/XjwEhS5fl6ALjXSnUdA=@vger.kernel.org X-Gm-Message-State: AOJu0YzfWXTNB1p+UUVySzwGHn8AOQ8qN3td8CpzQgLPk1ssOUloB9FH FguzIoeafXQ5PE4LUX38ve13G+JdP7spPnJ8bozx8/j2L67RQHlAy8wZRcDYpvhbPdCJnwC66H5 ryFubwg== X-Google-Smtp-Source: AGHT+IEP72ZXZaJ48/ldlCnpX6zM87VMY86dQ66SFrkWz5+rNp24L8qvClHiEDb9z5cTOvOVU6+mQmJCcYQ= X-Received: from pjbst4.prod.google.com ([2002:a17:90b:1fc4:b0:311:f309:e314]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2683:b0:312:1dc9:9f67 with SMTP id 98e67ed59e1d1-31f5dd6b52fmr1710635a91.2.1753829769155; Tue, 29 Jul 2025 15:56:09 -0700 (PDT) Reply-To: Sean Christopherson Date: Tue, 29 Jul 2025 15:54:53 -0700 In-Reply-To: <20250729225455.670324-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250729225455.670324-1-seanjc@google.com> X-Mailer: git-send-email 2.50.1.552.g942d659e1b-goog Message-ID: <20250729225455.670324-23-seanjc@google.com> Subject: [PATCH v17 22/24] KVM: selftests: Do not use hardcoded page sizes in guest_memfd test From: Sean Christopherson To: Paolo Bonzini , Marc Zyngier , Oliver Upton , Sean Christopherson Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-kernel@vger.kernel.org, Ira Weiny , Gavin Shan , Shivank Garg , Vlastimil Babka , Xiaoyao Li , David Hildenbrand , Fuad Tabba , Ackerley Tng , Tao Chan , James Houghton Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Fuad Tabba 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 Reviewed-by: Shivank Garg Reviewed-by: Gavin Shan Suggested-by: Gavin Shan Signed-off-by: Fuad Tabba Signed-off-by: Sean Christopherson Reviewed-by: Xiaoyao Li --- 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/selft= ests/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 +=3D arch_timer TEST_GEN_PROGS_arm64 +=3D coalesced_io_test TEST_GEN_PROGS_arm64 +=3D dirty_log_perf_test TEST_GEN_PROGS_arm64 +=3D get-reg-list +TEST_GEN_PROGS_arm64 +=3D guest_memfd_test TEST_GEN_PROGS_arm64 +=3D memslot_modification_stress_test TEST_GEN_PROGS_arm64 +=3D memslot_perf_test TEST_GEN_PROGS_arm64 +=3D 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 k= vm_vm *vm) { int fd1, fd2, ret; struct stat st1, st2; + size_t page_size =3D getpagesize(); =20 - fd1 =3D __vm_create_guest_memfd(vm, 4096, 0); + fd1 =3D __vm_create_guest_memfd(vm, page_size, 0); TEST_ASSERT(fd1 !=3D -1, "memfd creation should succeed"); =20 ret =3D fstat(fd1, &st1); TEST_ASSERT(ret !=3D -1, "memfd fstat should succeed"); - TEST_ASSERT(st1.st_size =3D=3D 4096, "memfd st_size should match requeste= d size"); + TEST_ASSERT(st1.st_size =3D=3D page_size, "memfd st_size should match req= uested size"); =20 - fd2 =3D __vm_create_guest_memfd(vm, 8192, 0); + fd2 =3D __vm_create_guest_memfd(vm, page_size * 2, 0); TEST_ASSERT(fd2 !=3D -1, "memfd creation should succeed"); =20 ret =3D fstat(fd2, &st2); TEST_ASSERT(ret !=3D -1, "memfd fstat should succeed"); - TEST_ASSERT(st2.st_size =3D=3D 8192, "second memfd st_size should match r= equested size"); + TEST_ASSERT(st2.st_size =3D=3D page_size * 2, "second memfd st_size shoul= d match requested size"); =20 ret =3D fstat(fd1, &st1); TEST_ASSERT(ret !=3D -1, "memfd fstat should succeed"); - TEST_ASSERT(st1.st_size =3D=3D 4096, "first memfd st_size should still ma= tch requested size"); + TEST_ASSERT(st1.st_size =3D=3D page_size, "first memfd st_size should sti= ll match requested size"); TEST_ASSERT(st1.st_ino !=3D st2.st_ino, "different memfd should have diff= erent inode numbers"); =20 close(fd2); --=20 2.50.1.552.g942d659e1b-goog