From patchwork Tue Jan 6 09:24:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuad Tabba X-Patchwork-Id: 2180302 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=hwSuTbL8; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=equuKA3y; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4dlm2y1BNFz1y8C for ; Tue, 06 Jan 2026 20:24:38 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=OP1ZFYsAEKtXDCwG9QY8vO76xLbg1Re+fW6Q6FnmyZ4=; b=hwSuTbL8HcJMVG8ck0tgbbVK29 fD6+7uQYvV9gks7JDwKR9+8qfz2ZsTOE/0yzHAZcU0GAXsw4h9LFXYKjstKPLfQM7gYXAg6cXEl+T mXZCiZSAIsNW1fuQehJID7kOqqq3foAaVY1+YzGVRoYcEezXGHfs+1hSftIAV/FWhXUxddjeaE2Cs o89dpYaCYQhwTVgOOYR4EwH09dg2Xerdlt3MiS7oIFFODpLnrVCG1qpsW9q739opckOpxCfMffe9C uImFWdIpEPOUhWMj8tFDR6htm+9biyJEUHNAFqecDbHqwexrbnXBxeLa6FSVwDBOxExuikrMxSL0e hYak8NWQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Il-0000000Ci0z-3HW0; Tue, 06 Jan 2026 09:24:31 +0000 Received: from mail-wm1-x34a.google.com ([2a00:1450:4864:20::34a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Ii-0000000Chxw-40IS for kvm-riscv@lists.infradead.org; Tue, 06 Jan 2026 09:24:30 +0000 Received: by mail-wm1-x34a.google.com with SMTP id 5b1f17b1804b1-477a11d9e67so5281955e9.2 for ; Tue, 06 Jan 2026 01:24:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1767691467; x=1768296267; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=kq1IjMSjoMKjdw0XAwlPesXU4TmV0d7vJwGMiICzk6g=; b=equuKA3ygJ4nbdiSi2l7m63W27tOV0v8bh2BtSWPZQgEWcEdPgjp6/aNVJ9bq3f10w aYFI5u+5gpTRC+kpwwJnUiO6c84gven8DLRtOwfqiYy2KlcjBLj7jt1uTiHiMyi8OOIC Es/tn391zDhXv6iQpRHi5vEltFciJtJCuCdl0ZnAXBqqaC++Lutb6WJp5KDIQJ9bEmpI q2/S01Q6g9QxeJc248ivPrUimCakxMDaEcN3TTo5zQPhe6xIdQI5xnmWDYuF7y+dKYUK 5fsynm763flLZ0TudiZVIxONgaIrsPpqJ6bINGDU2FPvTEwJnYGa9pM4vpZHLdVHiprK 45Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767691467; x=1768296267; 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=kq1IjMSjoMKjdw0XAwlPesXU4TmV0d7vJwGMiICzk6g=; b=i/jSqX0KkRP7wX9iHPmrtFtA7sUCq6Ue7w+kdMgO/AlblHs7helYoIl2IIYRwNbzHb /TyuYMUXFcU9GOZVUuzvylwbUKzM0MoJ2ZBfEeFwgUyi0ctuq8vNLoXhUT5WigMJMzz1 p4/0YkAQNwCwrokZpjxfYwArOGT6jPElBmfxI/rHo4C/6UbZalc3jlhtabmWdazTFGgM Ai8O9Uqri4VpKP1XHxbt/fdQjt7lmMmOGNqTqxK6kx3lQuQ6OmTEH8lgOH3E0unQCl3K QAlvs0yZMT5pzq2MTndLR9lczXiO8THNOMnZYHhe/28+A8jFa17dowmpp+IY++zyQF6r IrkQ== X-Forwarded-Encrypted: i=1; AJvYcCUKe8csGy7g7BWJMRVgbw/KdtULbKravF+LoyNeXnNuwtIpteX8tI7rylPf4Lvwb4Idu/zNYQJgPv0=@lists.infradead.org X-Gm-Message-State: AOJu0YyPcCiX6JpmC2MNX0Kq2X/dh9gSdw4Db6whkGzBkS/PYIqORqAG P3BrjO0vwLJDiVQXfLLlNolQKJ0/3wo7pfTGzGml6kMjbGojwYgVyejI61LbAAh+7w+S7T4q4iS Jsg== X-Google-Smtp-Source: AGHT+IHAvLyAn1VJG2+pLIU7Jm982X3rmXgnqbZGLYkM+N3EFPWYk9emuP+KfsGs4jFnJ/EzGlOPeeJ+Fg== X-Received: from wmqo19.prod.google.com ([2002:a05:600c:4fd3:b0:47a:7586:4faa]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3554:b0:46e:33b2:c8da with SMTP id 5b1f17b1804b1-47d7f09fac3mr25123345e9.32.1767691466959; Tue, 06 Jan 2026 01:24:26 -0800 (PST) Date: Tue, 6 Jan 2026 09:24:21 +0000 In-Reply-To: <20260106092425.1529428-1-tabba@google.com> Mime-Version: 1.0 References: <20260106092425.1529428-1-tabba@google.com> X-Mailer: git-send-email 2.52.0.351.gbe84eed79e-goog Message-ID: <20260106092425.1529428-2-tabba@google.com> Subject: [PATCH v3 1/5] KVM: arm64: selftests: Disable unused TTBR1_EL1 translations From: Fuad Tabba To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org Cc: maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, will@kernel.org, pbonzini@redhat.com, shuah@kernel.org, anup@brainfault.org, itaru.kitayama@fujitsu.com, andrew.jones@linux.dev, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260106_012429_009578_688DB0FC X-CRM114-Status: UNSURE ( 9.79 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -9.5 (---------) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: KVM selftests map all guest code and data into the lower virtual address range (0x0000...) managed by TTBR0_EL1. The upper range (0xFFFF...) managed by TTBR1_EL1 is unused and uninitialized. If a guest accesses the upper range, the MMU attempts a translation table walk using uninitialized registers, leading to unpredictable behavior. Content analysis details: (-9.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:34a listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -7.5 USER_IN_DEF_DKIM_WL From: address is in the default DKIM welcome-list 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 DKIMWL_WL_MED DKIMwl.org - Medium trust sender X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org KVM selftests map all guest code and data into the lower virtual address range (0x0000...) managed by TTBR0_EL1. The upper range (0xFFFF...) managed by TTBR1_EL1 is unused and uninitialized. If a guest accesses the upper range, the MMU attempts a translation table walk using uninitialized registers, leading to unpredictable behavior. Set `TCR_EL1.EPD1` to disable translation table walks for TTBR1_EL1, ensuring that any access to the upper range generates an immediate Translation Fault. Additionally, set `TCR_EL1.TBI1` (Top Byte Ignore) to ensure that tagged pointers in the upper range also deterministically trigger a Translation Fault via EPD1. Define `TCR_EPD1_MASK`, `TCR_EPD1_SHIFT`, and `TCR_TBI1` in `processor.h` to support this configuration. These are based on their definitions in `arch/arm64/include/asm/pgtable-hwdef.h`. Suggested-by: Will Deacon Reviewed-by: Itaru Kitayama Signed-off-by: Fuad Tabba --- tools/testing/selftests/kvm/include/arm64/processor.h | 4 ++++ tools/testing/selftests/kvm/lib/arm64/processor.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/tools/testing/selftests/kvm/include/arm64/processor.h b/tools/testing/selftests/kvm/include/arm64/processor.h index ff928716574d..ac97a1c436fc 100644 --- a/tools/testing/selftests/kvm/include/arm64/processor.h +++ b/tools/testing/selftests/kvm/include/arm64/processor.h @@ -90,6 +90,9 @@ #define TCR_TG0_64K (UL(1) << TCR_TG0_SHIFT) #define TCR_TG0_16K (UL(2) << TCR_TG0_SHIFT) +#define TCR_EPD1_SHIFT 23 +#define TCR_EPD1_MASK (UL(1) << TCR_EPD1_SHIFT) + #define TCR_IPS_SHIFT 32 #define TCR_IPS_MASK (UL(7) << TCR_IPS_SHIFT) #define TCR_IPS_52_BITS (UL(6) << TCR_IPS_SHIFT) @@ -97,6 +100,7 @@ #define TCR_IPS_40_BITS (UL(2) << TCR_IPS_SHIFT) #define TCR_IPS_36_BITS (UL(1) << TCR_IPS_SHIFT) +#define TCR_TBI1 (UL(1) << 38) #define TCR_HA (UL(1) << 39) #define TCR_DS (UL(1) << 59) diff --git a/tools/testing/selftests/kvm/lib/arm64/processor.c b/tools/testing/selftests/kvm/lib/arm64/processor.c index d46e4b13b92c..5b379da8cb90 100644 --- a/tools/testing/selftests/kvm/lib/arm64/processor.c +++ b/tools/testing/selftests/kvm/lib/arm64/processor.c @@ -384,6 +384,8 @@ void aarch64_vcpu_setup(struct kvm_vcpu *vcpu, struct kvm_vcpu_init *init) tcr_el1 |= TCR_IRGN0_WBWA | TCR_ORGN0_WBWA | TCR_SH0_INNER; tcr_el1 |= TCR_T0SZ(vm->va_bits); + tcr_el1 |= TCR_TBI1; + tcr_el1 |= TCR_EPD1_MASK; if (use_lpa2_pte_format(vm)) tcr_el1 |= TCR_DS; From patchwork Tue Jan 6 09:24:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuad Tabba X-Patchwork-Id: 2180303 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=1yqsr/mW; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=pYJIsq1I; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4dlm2x5fvVz1xrJ for ; Tue, 06 Jan 2026 20:24:37 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=+gxn/YkH4gs7ecnE2S8XMdZUns/NxOJ7BcmhqqG+z50=; b=1yqsr/mWrm+WzJs0+6HH+QDud7 1/cBX5HxexpOVZFJXe57NTkyjaeA2VJqGG7Lt7qMBEH0s1eA13+j+JN0ntkVvXzfmjzxM3Gq2Xw7Z 2rvAOAhjIqT0M8btw/SDFRibkhWu591EBWGzA/CrcOLo1v9J45O2+6UqbzUsB8+jPDwuq7n48dzEI oNBlDTgQ8iuhIq4ttGICYmt+ycl/hJIbr6KHBvH8aR0kHsCgzaTxhkUUJ9HbZDQe6b8W7++0Dfvm6 bE34wNFvVogJtsG9HISz74ldWM3mfbad9y7R0ONh0BK+IUWc2n3CftQh7dvHHA26B04iGpeTa9CB1 17ybe8iA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Ip-0000000Ci54-3c5U; Tue, 06 Jan 2026 09:24:35 +0000 Received: from mail-wm1-x34a.google.com ([2a00:1450:4864:20::34a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Ik-0000000Chyh-2S0o for kvm-riscv@lists.infradead.org; Tue, 06 Jan 2026 09:24:31 +0000 Received: by mail-wm1-x34a.google.com with SMTP id 5b1f17b1804b1-4775d8428e8so6162035e9.0 for ; Tue, 06 Jan 2026 01:24:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1767691468; x=1768296268; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=/BHQuplAEgEU3wnDUhoItFqsIohZcJhUp7mBGwtJYNU=; b=pYJIsq1I6DsMAnO2ORHKIA4MEwR9uNz6OAKj/3aTDn669O9nHuRekzE+70V75agywG OpJFb2/KP3gIF4A6d5zohZyvRMSLNBuKRq0+pOAxiJawNTIViDmGjrVcWQX+26t1w0n9 GM8Z4KW6MzKFOJ5nJjHO1e7OEnjULMe7l7FncLowluJFp7YPzcEE1Zhol5E69111Kafp RRP8rZgEpiPOKtrelnOELdfuGiLjYQe8eDWz0OG/9imnXw+QDrpKbccFeY+Sg4GQmZDJ npHXsQzXOKqCeSNPFbwP0utVdPgERiHhxnUHXJrTsdQOwZjKpxSAkKMed+zV5dJaGUxD aDSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767691468; x=1768296268; 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=/BHQuplAEgEU3wnDUhoItFqsIohZcJhUp7mBGwtJYNU=; b=dlFIx8Dj5oct9YGfqjOw1X27Xxy4fwbWErdhNAxHshgEVMPQGC2h9u8iwE8v8yMM1c nJrDal90Vu3OWLM2lku2BgdmdUa/dcXgjYlvAphqr0oYgJXGxTYVkEQuegtFU+wEztFj zw9wIEbywdRsgV+Edv15WFnSBOQsDEDMTJ/it4+FNoGsIU9bhrb+3lE7pikKuRtymBU1 0dGqt4R4xmI7nVpNGN1U93I1SpmScpnNopmPTZPV5RyrExwMGov+qrvpTTH86CJRVeGG e7IR67Uj942qxpFRN6WA+YSmAUYtFFUGkuB/zDTSoWA2yT4eIMnFKpHyaZ3ZyqSzHwUd 0N4w== X-Forwarded-Encrypted: i=1; AJvYcCUwHb2VrcZqOljpDJ2V/MNgYdIL2mrlP72Xb7yTtVg8JvTMJ/H5ZcOprZ/ApWqOTxJ9BbNuGfIZT7M=@lists.infradead.org X-Gm-Message-State: AOJu0YyolnlRCOuL1PtF2fordrG6sSqakmm+5y2z46f+q6V/aPEhjgSo bcm0yyTdc/p56l1jbBZcWhgJadB7kcqnkMZxK3fR0toUOmCi1e3ytaoumCZaLBqI5MO4L8ItlJI HPg== X-Google-Smtp-Source: AGHT+IEg8lPbC98Q9JebA2jYPeK+hKxfS04QHQm5CsFqWbT7d+JjvRp5WM7FCPdf80Bu6YTWW9INVq/0XA== X-Received: from wmbju16.prod.google.com ([2002:a05:600c:56d0:b0:477:9945:466d]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3b27:b0:475:da1a:5418 with SMTP id 5b1f17b1804b1-47d7f062feamr25842635e9.1.1767691468308; Tue, 06 Jan 2026 01:24:28 -0800 (PST) Date: Tue, 6 Jan 2026 09:24:22 +0000 In-Reply-To: <20260106092425.1529428-1-tabba@google.com> Mime-Version: 1.0 References: <20260106092425.1529428-1-tabba@google.com> X-Mailer: git-send-email 2.52.0.351.gbe84eed79e-goog Message-ID: <20260106092425.1529428-3-tabba@google.com> Subject: [PATCH v3 2/5] KVM: arm64: selftests: Fix incorrect rounding in page_align() From: Fuad Tabba To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org Cc: maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, will@kernel.org, pbonzini@redhat.com, shuah@kernel.org, anup@brainfault.org, itaru.kitayama@fujitsu.com, andrew.jones@linux.dev, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260106_012430_627901_3736DE49 X-CRM114-Status: GOOD ( 11.36 ) X-Spam-Score: -9.5 (---------) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The implementation of `page_align()` in `processor.c` calculates alignment incorrectly for values that are already aligned. Specifically, `(v + vm->page_size) & ~(vm->page_size - 1)` aligns to the *ne [...] Content analysis details: (-9.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:34a listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -7.5 USER_IN_DEF_DKIM_WL From: address is in the default DKIM welcome-list 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 DKIMWL_WL_MED DKIMwl.org - Medium trust sender X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The implementation of `page_align()` in `processor.c` calculates alignment incorrectly for values that are already aligned. Specifically, `(v + vm->page_size) & ~(vm->page_size - 1)` aligns to the *next* page boundary even if `v` is already page-aligned, potentially wasting a page of memory. Fix the calculation to use standard alignment logic: `(v + vm->page_size - 1) & ~(vm->page_size - 1)`. Fixes: 7a6629ef746d ("kvm: selftests: add virt mem support for aarch64") Reviewed-by: Andrew Jones Signed-off-by: Fuad Tabba --- tools/testing/selftests/kvm/lib/arm64/processor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/lib/arm64/processor.c b/tools/testing/selftests/kvm/lib/arm64/processor.c index 5b379da8cb90..607a4e462984 100644 --- a/tools/testing/selftests/kvm/lib/arm64/processor.c +++ b/tools/testing/selftests/kvm/lib/arm64/processor.c @@ -23,7 +23,7 @@ static vm_vaddr_t exception_handlers; static uint64_t page_align(struct kvm_vm *vm, uint64_t v) { - return (v + vm->page_size) & ~(vm->page_size - 1); + return (v + vm->page_size - 1) & ~(vm->page_size - 1); } static uint64_t pgd_index(struct kvm_vm *vm, vm_vaddr_t gva) From patchwork Tue Jan 6 09:24:23 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuad Tabba X-Patchwork-Id: 2180305 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=jVjgyREn; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=G9MvtG2H; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4dlm2x5bwHz1xpc for ; Tue, 06 Jan 2026 20:24:39 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=uwhFTyGKoViZuc1CDosaB9p4UQNW17hWiecXslSLgyU=; b=jVjgyREnUEoVkfG37QJx+zERbo W7shkQNwHkZ5G+F5lO41IRysSuSJvV7RdWCLdzq25he7qQT4xIfE2ePn9y9z5ebml5/1e1aPxMrxd dyQhSpfqEH1L6zcf4j6XDVLu+Avq3e3WYjtv/0CJjK7NGXh8Hnw1fLIYh7mOYg2Ia/gGhlPBY3XaA rSB0FFjiEt2taF1bZS06VG+VyOOJMRZzeRnMCfhIFBB0nc9JWwJzlu+ErbcrfiVdJxZWleNzlT7JR OiusUQU9lsuf2Y2INSSqa3bahKc3fgYI5ufAS6mXoTmwLb6X48kuIfFbTWZ2kjrx7OxThmG2tmFSz O0KmP1mA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Ir-0000000Ci74-2xKS; Tue, 06 Jan 2026 09:24:37 +0000 Received: from mail-wm1-x34a.google.com ([2a00:1450:4864:20::34a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Il-0000000Chz2-2JuG for kvm-riscv@lists.infradead.org; Tue, 06 Jan 2026 09:24:32 +0000 Received: by mail-wm1-x34a.google.com with SMTP id 5b1f17b1804b1-477c49f273fso7435725e9.3 for ; Tue, 06 Jan 2026 01:24:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1767691469; x=1768296269; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=QWAfw8yq+s9cE6S8gitEzWpZURZyId6sqJW9pySZvio=; b=G9MvtG2HMIXZOklGyFOqmhq2P5bYqhcSrhMcqxrF3SOCCoRoj1X5524c50Px1r4DMy wUOmMddwfqWnQnuQoWVsDRjL2rBVyfqTZ20YwOZ8c9nV/i4GT+iG63Gf2Ly0LMcv4ECg izt5c4J2moyh7mmGvjVxZCMF01LrQIZ+L0um/uELpqW5Hp9kDkLYgLLZdmVM2izh8tLA SFj2Tb4RpZcdVznuOkpoe2dnvRQnV6JguQFaXSkjhPS6kB1B+JFV2l9z+3aEfKDZwyDK DbXS1aDAuR26hHYIsLmD29Bgk0N+hUvNZOonVLTPNql8eGSZGIeL8FLESVhXhb3qVP5X zvzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767691469; x=1768296269; 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=QWAfw8yq+s9cE6S8gitEzWpZURZyId6sqJW9pySZvio=; b=ucnDVKXw1n2G00PAo1UbiQsOG7C8IQBCkyF5IER8tWFKr3AZ86Ej6zmGtjbRrvd9ny D5a+ZbJz6hNle3ja9EvqmsNCyByZvNlA/lctL8u6lOZApDWVyzgCmEZ3BVVQrqKZPReI m9gRYwmi7/Z/YcwAjx/uP8XXxdULNQWnaqs1SkURky/7OGUySFw/FKfE8krctZu6RhET plTBow2wuAbURGtbdvbvSRNnHs51vA/3FY040HQC6gnWPBsgfChF/1m6SRKipQRaBra0 c64xWrtwPbmQhhqhloRwUFFtQkFj5dxr8aCXtrCObhko/Zv/sPoauaeVE1o+rkbuyuvT iStQ== X-Forwarded-Encrypted: i=1; AJvYcCWHA/gBch2bVTYvVn7ryzgkI45RwdAE6csszh2FZcECH7Ach5IYsrYR0aHWSP5Iq8/YrJjFSggZY+Q=@lists.infradead.org X-Gm-Message-State: AOJu0YxooZ3VrRnGf/ivGCB0cL33Hr03EOLDoO3GVNtz+jjU/wMLSqEE gxatrf44fpVU8OlUAKg8KlbnbH0EgVNP3KkY2FQvb9a35DNFTuQ4GerLsAglS9VypRhIZR/VR4o Ykw== X-Google-Smtp-Source: AGHT+IGZ6zPBR0nFFmX4Tnz3UVY5AHveG185k93WRJRP+p2A5F0uEf6W3hst4bbUZ2pAc94raYUDWeGeZQ== X-Received: from wmxb6-n2.prod.google.com ([2002:a05:600d:8446:20b0:47a:9289:c5d8]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:46c4:b0:47d:403e:90c9 with SMTP id 5b1f17b1804b1-47d7f07031emr25675035e9.11.1767691469448; Tue, 06 Jan 2026 01:24:29 -0800 (PST) Date: Tue, 6 Jan 2026 09:24:23 +0000 In-Reply-To: <20260106092425.1529428-1-tabba@google.com> Mime-Version: 1.0 References: <20260106092425.1529428-1-tabba@google.com> X-Mailer: git-send-email 2.52.0.351.gbe84eed79e-goog Message-ID: <20260106092425.1529428-4-tabba@google.com> Subject: [PATCH v3 3/5] KVM: riscv: selftests: Fix incorrect rounding in page_align() From: Fuad Tabba To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org Cc: maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, will@kernel.org, pbonzini@redhat.com, shuah@kernel.org, anup@brainfault.org, itaru.kitayama@fujitsu.com, andrew.jones@linux.dev, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260106_012431_600282_A1B563C7 X-CRM114-Status: GOOD ( 11.06 ) X-Spam-Score: -9.5 (---------) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The implementation of `page_align()` in `processor.c` calculates alignment incorrectly for values that are already aligned. Specifically, `(v + vm->page_size) & ~(vm->page_size - 1)` aligns to the *ne [...] Content analysis details: (-9.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:34a listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -7.5 USER_IN_DEF_DKIM_WL From: address is in the default DKIM welcome-list 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 DKIMWL_WL_MED DKIMwl.org - Medium trust sender X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The implementation of `page_align()` in `processor.c` calculates alignment incorrectly for values that are already aligned. Specifically, `(v + vm->page_size) & ~(vm->page_size - 1)` aligns to the *next* page boundary even if `v` is already page-aligned, potentially wasting a page of memory. Fix the calculation to use standard alignment logic: `(v + vm->page_size - 1) & ~(vm->page_size - 1)`. Fixes: 3e06cdf10520 ("KVM: selftests: Add initial support for RISC-V 64-bit") Reviewed-by: Andrew Jones Signed-off-by: Fuad Tabba --- tools/testing/selftests/kvm/lib/riscv/processor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/lib/riscv/processor.c b/tools/testing/selftests/kvm/lib/riscv/processor.c index 2eac7d4b59e9..d5e8747b5e69 100644 --- a/tools/testing/selftests/kvm/lib/riscv/processor.c +++ b/tools/testing/selftests/kvm/lib/riscv/processor.c @@ -28,7 +28,7 @@ bool __vcpu_has_ext(struct kvm_vcpu *vcpu, uint64_t ext) static uint64_t page_align(struct kvm_vm *vm, uint64_t v) { - return (v + vm->page_size) & ~(vm->page_size - 1); + return (v + vm->page_size - 1) & ~(vm->page_size - 1); } static uint64_t pte_addr(struct kvm_vm *vm, uint64_t entry) From patchwork Tue Jan 6 09:24:24 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuad Tabba X-Patchwork-Id: 2180306 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=Sh93ofRk; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=YbgPRwn2; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4dlm2y2Lj5z1y8D for ; Tue, 06 Jan 2026 20:24:40 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=oE0G+/a4M34fFYiUo9zq85jBtLE74HoC7YADRi8EkA8=; b=Sh93ofRkLFA8cfSbVVw3BmkdxZ G7c7Y//IE5fTHuxEIpZM8t3p9Z9evWqF1xACL7CyZtmZa8cawbd96gDZsRV3GgjPjRLZQyCibWXVZ Qf+yfdXOBhubOctWZVHdRzkYvaHYA5dx3VUaurIyjZPFHBC8LvWR4hirVwPtlK3MjFWXyRWNF1rHV 2nTQuelMilzBiJKeGaHoK9rLm2j0hXS+lk6uawXXfmxf3ug75LaJ6C+p1Ubyc08FmI68L5vjWZWjm 5/GFV8jcv3RAgGGuHd2+uwBQpK9BuOBgyA4YjVcXDu8t36BmbFnhhVF/MtevyrnvHEgbwNhCDYWeB I8AVP4rg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Is-0000000Ci9M-4BQq; Tue, 06 Jan 2026 09:24:39 +0000 Received: from mail-wm1-x34a.google.com ([2a00:1450:4864:20::34a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Im-0000000Chzu-2XPN for kvm-riscv@lists.infradead.org; Tue, 06 Jan 2026 09:24:35 +0000 Received: by mail-wm1-x34a.google.com with SMTP id 5b1f17b1804b1-47d3ba3a49cso8421585e9.2 for ; Tue, 06 Jan 2026 01:24:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1767691470; x=1768296270; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=GnwfbAHF0PCbdtqYfWOE4YUYyRoOfTU/WzuQ296CXfU=; b=YbgPRwn2MCdvr7gVUXuaLgwl8s6uQjyx65olSTeyrRmGv6huY/X9kTIrmYY48tvkyw Esfjtzzc81Ds/WGVSrz9Me8anIXJBdo+4cQKgHWxvbh427XUP+ZUBKl1JMHRH5m9xZ8t 8K91J2Tc+jeQv/b/ZusvTvg+XCNf1ntldQSsnK5/qK9iyAiLMb3+uCTR7nOOuDXyedWX B6MEeJUC8pTlUDoYgY6s9+e+qSiuf38kcS1/+QQ/iyx2uFS7egHf24GFcwLVAN/65RH/ F3z3mnvPmxalWCQgE7tot2weQc0X6otwL81IuQgWVCyWljMb3CWjK0b0I5ghGqyPuIGq slbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767691470; x=1768296270; 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=GnwfbAHF0PCbdtqYfWOE4YUYyRoOfTU/WzuQ296CXfU=; b=vohzNDZqS5IEYHEswy1/s1uP0xtKd2FkJZuOyl20P3tXsuruPKBX80F59/89MwOrdc M/ceiX5H2w6u8qkE81CrponxE+2POh98zC+QigyaFDQLeqbs1iOGg0d9cRCtOt87xOOB IXPE10Es27M/UDhOVfN7XYke3LewsgEYIYxIxMZy8alSt+MV3D59E3e4hrx4UlyljTVR T0S5VrTqX6B/cxDgjpt6kQzzAu4IYHA0JZNsNdmVCUpJ3pHnwmY33+EstiEu/WzjtG9L FUAxqV8ANGaPgkqXpHkiLlyeYqaO2LyTHpmF+MFObB14FhPeNvZ0Ff//Psiq9zIIyRgB PfeQ== X-Forwarded-Encrypted: i=1; AJvYcCV+WyPQDH6J7r7GU2x1Aw6u8Bu6+N4j7S9OeB07mWGrJQf4xJemruTVA/OEHOTpn/ZUTwBDMiUaCro=@lists.infradead.org X-Gm-Message-State: AOJu0YwxfEUjBGGS2ipKLcjmFaxlI2rRRR97/eSSIOoIH36A9LeGD7v0 AM+ucZucS2o0ql9DBosCo4pX4QLer2yWq3KitonhFy+n6p0/hgJQ/PjVVUublRwmof7K9XD24Jw nUA== X-Google-Smtp-Source: AGHT+IFcux+MH2/SnWRN59yd/EeqV0PSeYuceHIifCar56w5WkrXGG2T9nSrUb58DNoCU0or4EnrLtHc9A== X-Received: from wmbdn5.prod.google.com ([2002:a05:600c:6545:b0:477:9fac:c456]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:a16:b0:477:58af:a91d with SMTP id 5b1f17b1804b1-47d7f06b874mr27945865e9.5.1767691470261; Tue, 06 Jan 2026 01:24:30 -0800 (PST) Date: Tue, 6 Jan 2026 09:24:24 +0000 In-Reply-To: <20260106092425.1529428-1-tabba@google.com> Mime-Version: 1.0 References: <20260106092425.1529428-1-tabba@google.com> X-Mailer: git-send-email 2.52.0.351.gbe84eed79e-goog Message-ID: <20260106092425.1529428-5-tabba@google.com> Subject: [PATCH v3 4/5] KVM: selftests: Move page_align() to shared header From: Fuad Tabba To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org Cc: maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, will@kernel.org, pbonzini@redhat.com, shuah@kernel.org, anup@brainfault.org, itaru.kitayama@fujitsu.com, andrew.jones@linux.dev, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260106_012432_673887_6B0605E5 X-CRM114-Status: UNSURE ( 9.32 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -9.5 (---------) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: To avoid code duplication, move page_align() to the shared `kvm_util.h` header file. No functional change intended. Reviewed-by: Andrew Jones Signed-off-by: Fuad Tabba --- tools/testing/selftests/kvm/include/kvm_util.h | 5 +++++ tools/testing/selftests/kvm/lib/arm64/proce [...] Content analysis details: (-9.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:34a listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -7.5 USER_IN_DEF_DKIM_WL From: address is in the default DKIM welcome-list 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 DKIMWL_WL_MED DKIMwl.org - Medium trust sender X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org To avoid code duplication, move page_align() to the shared `kvm_util.h` header file. No functional change intended. Reviewed-by: Andrew Jones Signed-off-by: Fuad Tabba --- tools/testing/selftests/kvm/include/kvm_util.h | 5 +++++ tools/testing/selftests/kvm/lib/arm64/processor.c | 5 ----- tools/testing/selftests/kvm/lib/riscv/processor.c | 5 ----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h index 81f4355ff28a..dabbe4c3b93f 100644 --- a/tools/testing/selftests/kvm/include/kvm_util.h +++ b/tools/testing/selftests/kvm/include/kvm_util.h @@ -1258,6 +1258,11 @@ static inline int __vm_disable_nx_huge_pages(struct kvm_vm *vm) return __vm_enable_cap(vm, KVM_CAP_VM_DISABLE_NX_HUGE_PAGES, 0); } +static inline uint64_t page_align(struct kvm_vm *vm, uint64_t v) +{ + return (v + vm->page_size - 1) & ~(vm->page_size - 1); +} + /* * Arch hook that is invoked via a constructor, i.e. before exeucting main(), * to allow for arch-specific setup that is common to all tests, e.g. computing diff --git a/tools/testing/selftests/kvm/lib/arm64/processor.c b/tools/testing/selftests/kvm/lib/arm64/processor.c index 607a4e462984..143632917766 100644 --- a/tools/testing/selftests/kvm/lib/arm64/processor.c +++ b/tools/testing/selftests/kvm/lib/arm64/processor.c @@ -21,11 +21,6 @@ static vm_vaddr_t exception_handlers; -static uint64_t page_align(struct kvm_vm *vm, uint64_t v) -{ - return (v + vm->page_size - 1) & ~(vm->page_size - 1); -} - static uint64_t pgd_index(struct kvm_vm *vm, vm_vaddr_t gva) { unsigned int shift = (vm->pgtable_levels - 1) * (vm->page_shift - 3) + vm->page_shift; diff --git a/tools/testing/selftests/kvm/lib/riscv/processor.c b/tools/testing/selftests/kvm/lib/riscv/processor.c index d5e8747b5e69..f8ff4bf938d9 100644 --- a/tools/testing/selftests/kvm/lib/riscv/processor.c +++ b/tools/testing/selftests/kvm/lib/riscv/processor.c @@ -26,11 +26,6 @@ bool __vcpu_has_ext(struct kvm_vcpu *vcpu, uint64_t ext) return !ret && !!value; } -static uint64_t page_align(struct kvm_vm *vm, uint64_t v) -{ - return (v + vm->page_size - 1) & ~(vm->page_size - 1); -} - static uint64_t pte_addr(struct kvm_vm *vm, uint64_t entry) { return ((entry & PGTBL_PTE_ADDR_MASK) >> PGTBL_PTE_ADDR_SHIFT) << From patchwork Tue Jan 6 09:24:25 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuad Tabba X-Patchwork-Id: 2180301 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=txyi26rP; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=r4HYkUSf; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4dlm2y17Yfz1xsZ for ; Tue, 06 Jan 2026 20:24:40 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=ApjkLlK7ALoblfcZRp+onjjaBOpLPOC83BmD+oRw6EY=; b=txyi26rP6FBr9+9/jq1RT+J1zX jY+lVcK0qbcEU3y7FSErivIgsShO6fKZn9rdtdCDmRZrke70zP10Uiq2c+ash7Z9+bQE+5sFnIQDL naFYP1CjWv6VWpiRI6dMatmNZx4OqAXBM3NB9ldOrbFPkeR3793GQ0YGnT/YqaCj3ck67h8nCfKMm NWidXXsx5j3HM+y+ObxaSKX87Rq6okiohlf9kZl5P+fqpzUnewRDqaRqt+1AFjVNz1oMlXq6TrcDV JkNNpvmFzKzGIcTzkkxtLrl9nE4sp0/U29Jsx75lHIZKbK6ch88IGoK98tJKqjFewI7OZarSNi+IP dTD3fPKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3Is-0000000Ci8w-2x2B; Tue, 06 Jan 2026 09:24:38 +0000 Received: from mail-wm1-x34a.google.com ([2a00:1450:4864:20::34a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vd3In-0000000Ci17-1KjY for kvm-riscv@lists.infradead.org; Tue, 06 Jan 2026 09:24:35 +0000 Received: by mail-wm1-x34a.google.com with SMTP id 5b1f17b1804b1-4775e00b16fso4714585e9.2 for ; Tue, 06 Jan 2026 01:24:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1767691471; x=1768296271; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=CY0nmexOazthmZ5H6pdtIqZB8AItwvhQd/s34gISyww=; b=r4HYkUSflVnX8/YqxohtRWFBt6Iu2Ad/VShi/A/8zikXP0tmWkOZ9vJ7aUpv7NEChj Z7Ub/pWZB6JgyFmkzfVQn5oroFmXKLANGyGXL/pWcg4oV0Wb4x4to1r8ABAwbvNwzzqN N9UP35iSNuP0BJUaudg7415gcyV8J7aQhRMrBSIBkdIEoFC56gcHszgtL4ebCA/IHv2p Izdx7iCzjxZIyp2A1rPt4xeOKeXoXzFj0cl43O7QRl4oGEolGcnlVV6tMhYZdCZAnDCl YJSZiA9bYUl1jXCwrLm63gYZCswhzmiawqSt+Z0IMK+6DasyvdxzoRvvSmBYEXqYO1TT 4x1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767691471; x=1768296271; 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=CY0nmexOazthmZ5H6pdtIqZB8AItwvhQd/s34gISyww=; b=MeJen8TQKa0uU2f8pL0Wk3dcUrX4z5IGJQ7BeaCNzUfTjPEOvEXQmzeySALl3haAgB i1H8CMlhRkCMqaChkVo44IkT986nBAFHBwI7sy69e4LTdhuNk5PUjglDI+pHvQu7UKkK OUkN3nuIseDmzPmeJLH3ZJXD1AvBFpVuG5arbrmM8uyilreYFreL/P8Y5TxT9RFfhrbQ 2RTt8CioPBGitMTP+nVAQb+dDKAkNyjGZnImmD9IQa/KKu6eV50QOTd43JY8jd9YsNsH CzHhDjTyHnnjZMCxarHEMiEzJEwgl9BlszW/E9Iawv6RZwh5jRiOYzcM0N3LkkZT9n1K /4dA== X-Forwarded-Encrypted: i=1; AJvYcCX7W/g3E/ihfvPXPAoRWQbFbeVRojwd0u6Q4yxCdbeubLTmfl7KQZCyes4gZLzEvTttF0F/okvD9tA=@lists.infradead.org X-Gm-Message-State: AOJu0YzWEkMyjAh3+wqVrOww34zoSCc1xEcc21Q2qCgm8h9T1wh1nPIz ymIJuDfsRRHM4XsuGhi2pdo/C2d/D8RNq2ybCpSDuNYjvJW766Js2GGnftmnVwFPjG4WsZD3dch mvw== X-Google-Smtp-Source: AGHT+IH4a3WanlofrHZQi1TFDZ2kdHhieJiwoT4O4SCA7gXcrGwc3UiWaYl27kXqMWKHd9vR2euGSEKV6g== X-Received: from wmsm16.prod.google.com ([2002:a05:600c:3b10:b0:479:3624:3472]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3155:b0:47b:deb9:f8a with SMTP id 5b1f17b1804b1-47d7f09b87cmr27122825e9.30.1767691471353; Tue, 06 Jan 2026 01:24:31 -0800 (PST) Date: Tue, 6 Jan 2026 09:24:25 +0000 In-Reply-To: <20260106092425.1529428-1-tabba@google.com> Mime-Version: 1.0 References: <20260106092425.1529428-1-tabba@google.com> X-Mailer: git-send-email 2.52.0.351.gbe84eed79e-goog Message-ID: <20260106092425.1529428-6-tabba@google.com> Subject: [PATCH v3 5/5] KVM: selftests: Fix typos and stale comments in kvm_util From: Fuad Tabba To: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org Cc: maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, will@kernel.org, pbonzini@redhat.com, shuah@kernel.org, anup@brainfault.org, itaru.kitayama@fujitsu.com, andrew.jones@linux.dev, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260106_012433_387036_EEF795C0 X-CRM114-Status: GOOD ( 13.84 ) X-Spam-Score: -9.5 (---------) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Fix minor documentation errors in `kvm_util.h` and `kvm_util.c`. - Correct the argument description for `vcpu_args_set` in `kvm_util.h`, which incorrectly listed `vm` instead of `vcpu`. - Fix a typo in the comment for `kvm_selftest_arch_init` ("exeucting" -> "execu [...] Content analysis details: (-9.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:34a listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -7.5 USER_IN_DEF_DKIM_WL From: address is in the default DKIM welcome-list 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 DKIMWL_WL_MED DKIMwl.org - Medium trust sender X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Fix minor documentation errors in `kvm_util.h` and `kvm_util.c`. - Correct the argument description for `vcpu_args_set` in `kvm_util.h`, which incorrectly listed `vm` instead of `vcpu`. - Fix a typo in the comment for `kvm_selftest_arch_init` ("exeucting" -> "executing"). - Correct the return value description for `vm_vaddr_unused_gap` in `kvm_util.c` to match the implementation, which returns an address "at or above" `vaddr_min`, not "at or below". No functional change intended. Reviewed-by: Andrew Jones Signed-off-by: Fuad Tabba --- tools/testing/selftests/kvm/include/kvm_util.h | 4 ++-- tools/testing/selftests/kvm/lib/kvm_util.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h index dabbe4c3b93f..e29b2cbcb82b 100644 --- a/tools/testing/selftests/kvm/include/kvm_util.h +++ b/tools/testing/selftests/kvm/include/kvm_util.h @@ -939,7 +939,7 @@ void *vcpu_map_dirty_ring(struct kvm_vcpu *vcpu); * VM VCPU Args Set * * Input Args: - * vm - Virtual Machine + * vcpu - vCPU * num - number of arguments * ... - arguments, each of type uint64_t * @@ -1264,7 +1264,7 @@ static inline uint64_t page_align(struct kvm_vm *vm, uint64_t v) } /* - * Arch hook that is invoked via a constructor, i.e. before exeucting main(), + * Arch hook that is invoked via a constructor, i.e. before executing main(), * to allow for arch-specific setup that is common to all tests, e.g. computing * the default guest "mode". */ diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c index 8279b6ced8d2..fab6b62d7810 100644 --- a/tools/testing/selftests/kvm/lib/kvm_util.c +++ b/tools/testing/selftests/kvm/lib/kvm_util.c @@ -1351,7 +1351,7 @@ struct kvm_vcpu *__vm_vcpu_add(struct kvm_vm *vm, uint32_t vcpu_id) * Output Args: None * * Return: - * Lowest virtual address at or below vaddr_min, with at least + * Lowest virtual address at or above vaddr_min, with at least * sz unused bytes. TEST_ASSERT failure if no area of at least * size sz is available. *