From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.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 306E12FCFC8 for ; Thu, 17 Jul 2025 16:27:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752769677; cv=none; b=rTjYNgMo5Lf/BR/to7ZuphQLjRchInml+9zfTyvTMN0W8d/dW/RRvWNjQQevlUbevCylLeUALw3CsPKnbZwHseYtfwypfWYrwEM+EGA80IRg2mDmauVpY7p0TFrh9hfOnbirMqzDU8I1VTbE9p2QxGKHruwNtjMf8OasSSz6pso= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752769677; c=relaxed/simple; bh=jAvdSBF6ErICG+NEpfatzuDkGTq13Xbznj+zSIuwAMI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=JSRz69EWOBTviCgYggWDRP9nzjCXxdzIw2+V0KOrLyeGi69d+YxpX2XUl2c+duF8zAjn394Hd/+qEJdMOylr2T9hST65tOef859Un0G1y+eyuNijD4yfoKjAWKorKfRwTJKdjFQdlFqLCmZfjC4lKdTT8QuYaNK/p5EBYeGPzcc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--tabba.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=BnQCkGRp; arc=none smtp.client-ip=209.85.128.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--tabba.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="BnQCkGRp" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-4562985ac6aso12238335e9.3 for ; Thu, 17 Jul 2025 09:27:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752769674; x=1753374474; darn=lists.linux.dev; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=PyWDW2GdZSY3pYipsk/pHc4HVtYKhYoUBzgDwVtzkAs=; b=BnQCkGRpyBiTDK+KRUn1lA1SQ/wGiqro8ihKYQ3nNCl9OWCR5d2oFNPp1eHZ5fGI5V F4b190xKUxbpHPVvpYXbywkGCTxgyPTNJ44CZJSjdlJUWtPnK8JGAerya8xBCa9Redj/ OgaEIw1E8437PMGmYg7ZjpI76bYdChkxsJ1x5QNXg0KmY3VGPcyVZ+RELkGg6PhMtg+Q TIPgT/EOAGfuLfncF5kG3ACnnEGWWzJgm2u7i/cAGaXm4VGomIdCEiXagRflh7ZrrvWY /dL9bLEBHl/OAZwDdTyZOkyhRIJhE0HHkJi2aFjkqE5lO01oEZzeLlA7PJ+cXR3sZSCd efYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752769674; x=1753374474; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PyWDW2GdZSY3pYipsk/pHc4HVtYKhYoUBzgDwVtzkAs=; b=Q+Ooz+jFTRoWtpf3Jen8xfdCAM/OoJR7/PtUc6IMptC0VBOVEdg1/hOkw3lLmqQPYu KKTOS6CLcqCSSsD/vhtEx09kkc3Eo6uGYaSnv6/RMwWJid0osqIA2GXY5EawW/9C5tIT MdqEhR9ncR2JJXnEmwcDmimhDCbiz8l3Tt2fxEiGb3+/8jqYTRSCw8hukduEb34sVGFj f9qnILh5sK5v+j1t62NteRpK+gfVYzYHq/nUY2e6mbzVBk/RTP31WcFEOVmViLPhJrG7 rY9f2EokD7nWMfg78igWRUUz+gqAJkjapwDjsRws9lvQvyFEh6mciPjyYtv4aycUBVbQ EnOw== X-Forwarded-Encrypted: i=1; AJvYcCUw+PocKoh3sHsjm5UuJMFseyjmdibw7QRHgi3yNr934fkjwHcMUcUNjvqA8wqWM2S86SevijU=@lists.linux.dev X-Gm-Message-State: AOJu0YynGT7dL4lElz2+A8hTmfGoxbOcIUXwwVQIKwx70XOXq+S3NYz9 Ntj/fawJs3hkk8ug2SWh6RPDPLZQw3pCFMgt4qHwUoTgxkasxY7NLy+vUdsail+keelI75Bv5nS YVw== X-Google-Smtp-Source: AGHT+IGv5tAnpeFqMKvzppwNIKCihpsjFMpWOmPXitLL470jwmf7cFcxdWyCvv6TRZTUsmikMzzmMHDPQA== X-Received: from wmdd25.prod.google.com ([2002:a05:600c:a219:b0:456:ddf:4040]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6000:4007:b0:3a5:2694:d75f with SMTP id ffacd0b85a97d-3b60e53ebc8mr5882105f8f.52.1752769673468; Thu, 17 Jul 2025 09:27:53 -0700 (PDT) Date: Thu, 17 Jul 2025 17:27:30 +0100 In-Reply-To: <20250717162731.446579-1-tabba@google.com> Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250717162731.446579-1-tabba@google.com> X-Mailer: git-send-email 2.50.0.727.gbf7dc18ff4-goog Message-ID: <20250717162731.446579-21-tabba@google.com> Subject: [PATCH v15 20/21] KVM: selftests: Do not use hardcoded page sizes in guest_memfd test From: Fuad Tabba To: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, kvmarm@lists.linux.dev Cc: pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, david@redhat.com, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com, pankaj.gupta@amd.com, ira.weiny@intel.com, tabba@google.com Content-Type: text/plain; charset="UTF-8" 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 --- 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 38b95998e1e6..e11ed9e59ab5 100644 --- a/tools/testing/selftests/kvm/Makefile.kvm +++ b/tools/testing/selftests/kvm/Makefile.kvm @@ -172,6 +172,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); -- 2.50.0.727.gbf7dc18ff4-goog