From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6DFAC54F30 for ; Tue, 27 May 2025 18:03:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68DEF6B00A3; Tue, 27 May 2025 14:03:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 63EFF6B00A4; Tue, 27 May 2025 14:03:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 506C96B00A5; Tue, 27 May 2025 14:03:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 21AC26B00A3 for ; Tue, 27 May 2025 14:03:15 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CF6B4EA95F for ; Tue, 27 May 2025 18:03:14 +0000 (UTC) X-FDA: 83489459508.23.8521160 Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) by imf04.hostedemail.com (Postfix) with ESMTP id 0405C40006 for ; Tue, 27 May 2025 18:03:12 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="BjdEb/pu"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of 3X_41aAUKCHwyfggflttlqj.htrqnsz2-rrp0fhp.twl@flex--tabba.bounces.google.com designates 209.85.221.74 as permitted sender) smtp.mailfrom=3X_41aAUKCHwyfggflttlqj.htrqnsz2-rrp0fhp.twl@flex--tabba.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748368993; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ALrz1sRb+zGk6S8awUKMjvdNktsAjzmIkhXrUj3xTdE=; b=ueM0tioX6Wosq7zJvlUQwPAPtdIOBcp+tybNFzoui35C7eNRZZZTLWmrTtgVSZMwvkT2wR Nc1CG/JyxuAPj0RGW8oo1oH6IDmRjdghx5/96DVgWoWyYKa4qsPDuFVUC5xJPqA99/Gt9M MFrF0gU54TP5B/hDP3jb6RPEuuTgsGQ= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="BjdEb/pu"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of 3X_41aAUKCHwyfggflttlqj.htrqnsz2-rrp0fhp.twl@flex--tabba.bounces.google.com designates 209.85.221.74 as permitted sender) smtp.mailfrom=3X_41aAUKCHwyfggflttlqj.htrqnsz2-rrp0fhp.twl@flex--tabba.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748368993; a=rsa-sha256; cv=none; b=AT/4aYicCmdZg5yRPiEGdCGGNRzCL3M9i9Zl1+R1D2sLr/92G7QgXWOi7Xr9q1kIDkwyJ4 o02TvEq4aLGNBbAjd/LNUSieZ+CJOe/nhQT2EI4lOAKP2STn6lGEWs6Ub4oFVc66DcxgGF 9QcdcIcBURlmJ+ByrvciCMP01GkP1EE= Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-3a4e6d426b1so42637f8f.1 for ; Tue, 27 May 2025 11:03:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1748368991; x=1748973791; darn=kvack.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=ALrz1sRb+zGk6S8awUKMjvdNktsAjzmIkhXrUj3xTdE=; b=BjdEb/puCUyAiCRW35SQJSrq9mqPejYp3+gPpYHy5ntxGTVBVV6vH6sQLXgQL/llGn YQVjb9SZlBZrxHUtDQAZ7JLqFmygxKzvJxaf/abiu+dTLrt26Ojb7Dnga/qzzbKW0PsH KiCtDc8pnMKDo3UqtNiPwr4pvC+/+Fb2VTs89Lbd2m9TF+dsQrikOEXMlbVwRhNNuF3M k7lVxBUN6tZnxHeH35JUVS/7xakHHpfWEixownTKigN1MvKvFZLWQWfeCt5zzo3ezS9d 71LGfSJgOXS8HNV1hnJuflmKFAp9e8gOPzSiP0eTzfJHqn2QYYamFYEm2XIySZH8+J25 UqLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748368991; x=1748973791; 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=ALrz1sRb+zGk6S8awUKMjvdNktsAjzmIkhXrUj3xTdE=; b=piOKEno/KHjBBO3j9h/dQ64TqyXUdg2gOyrl3E0iLG0DWi5eOtFZ4A4yT18sKZj0bP +6/4hKK/5TaLOYf2eVJ/IfXPf9FGfdV7i2VSLMH0ghlf5/9UtOWjY6AJb8zB0yVUmhYI Xp2LpOJWCswIwHJ/Fm2nT7q7jTbBbOjb1W24z3p2GyJPetEDDf8uc+MRC2dF7I1eJK8A TUaHCztyLGnYIZhL9ZfR9I9BCT5ZLjNkbKSOyDPbTugKLZkueInsLCzu2ZTmYToV4VG3 /xPupbWhXkc9Ew1IUR3KJqrxMJS8sfXwdScAoDRGo5YvQFa4AL+mMIS++yOHAZo4eYkE 6dFA== X-Forwarded-Encrypted: i=1; AJvYcCX3FEsXOY2BTyhwdvC9X3Rb2iQEedQ9s4usGrml/yo/pupz5WgTNq3nmT6B7Y3DDoB9i7VB96Uuog==@kvack.org X-Gm-Message-State: AOJu0YzULD/dGd6/A6VkL3w4qZ0D6yKJ3VCZdQefFY0YSrsXjFx76LWU v+mBlzYltA3KLlna5pmB0HhfmOxQA5su5mmyTxrkRoJ25BNigwHnwJq15CubNtKg4Sx36Vuh1EP Eqg== X-Google-Smtp-Source: AGHT+IEodZ07aGUSN9lzHx1HTAUjm24ip1XDGKBVDKeoRhMm1kFvEgr3NfTUnNAICPpNgKbsF/l/u8jzeg== X-Received: from wmcn17-n2.prod.google.com ([2002:a05:600c:c0d1:20b0:44a:3354:5dfd]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a5d:64ce:0:b0:3a3:76e2:ccb7 with SMTP id ffacd0b85a97d-3a4e5e447eemr1432544f8f.5.1748368991350; Tue, 27 May 2025 11:03:11 -0700 (PDT) Date: Tue, 27 May 2025 19:02:41 +0100 In-Reply-To: <20250527180245.1413463-1-tabba@google.com> Mime-Version: 1.0 References: <20250527180245.1413463-1-tabba@google.com> X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog Message-ID: <20250527180245.1413463-13-tabba@google.com> Subject: [PATCH v10 12/16] KVM: arm64: Refactor user_mem_abort() calculation of force_pte From: Fuad Tabba To: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org 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" X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 0405C40006 X-Stat-Signature: q5pctd35dxjhqda9ndgj5ri6tme6bkjx X-Rspam-User: X-HE-Tag: 1748368992-582769 X-HE-Meta: U2FsdGVkX1+N0wFvcq9ugD95dW8fTjRLJ/fv116gJidRCYpANNcpW0x5FgzmnaC07BJMeENStSzAdDswvzQRrKT4CSVRo1wAvwocSnxUYdvIJs7RIPaih8lJqYrL9ptOT2hHGTSK/qjH3vVUy10a4Hi7CUzlX7cLZUfa+1Q32LrspOecFFzf3kvh4tV0/FtlcWGbN14XU+dqAq0AEG4NkUWl77lxVBFvhe+mG3eoG/cywRZI17FbZpBx0xOknCExuYiCUItKgvmuW9kIs0iGIfzWLKAhytI/q4sJIJHe4iyBUiSBJEOr8lV2oysnonQPHLF2q3jDizevTtPkIABnuXJmh6UZHQUH9epOcUS1KKkYnHL0iAGa/IwXuEjgGNtLBn5Lb/jsmaNIoOUJ4U0+oD8vgML4oNx81MQxAD8MHv4sRfJTY/glSmcmE2yH3NJcZ0nfk8Y/He5cX5FtpcS5rPQXPKwcOCHiVSYcf/vJshyWLDNJkxpkT5wYe8Mc6BZDIQh+xSEP4GE1JmgvI9qT7fKEjCDwENR9bzAcBlwtKUe+UWP85m7Wt6/fpdTBY1242AJf6mePe0ZUxsdSgzdKCCd2dvpUAbH/uZBKR6+hAQmkZYkSnr4NlCZSFgDKptbHnt4MUbS9uNzqiuqU/VPJta3+aDWzFajz2P/IeYSD+1xtOiPbPAfkcmJn6dYWRPQ6OPPEiCtn+P3jelKwzRt6tIyZ+75Ty0IrTKkLRq4vPv4Pw9QRGQ2Haa8C/V6vGy0net+H+5S5fN656O0/IMAqSb0TlKTMNPjk76Pzt86iUYi8vPMo+aoYQQQ2GlrGowfMPtmkBrcXyyryvOhhWlSfp7I7ggAwPXFeZTWi26GK6b0KRXpYH+gaF8uU4xL8W3Mccx/WBLyx7FQpjQeH7GGAPN8wrjmKYlL+e4m4MBvE/BINZ28e2lU41HpsOSJ1z6Mp/wMR1FAzzkyMyKNvmN+ Q7PbLQ3S q/CEki4TQKGYv0YA7/xJ2+nSMnClQuyXpmJo4zSTGcx8vm5b3CG60Kb7a2pStl8n8AcHMkFaaEYHUKguHBey3Qnosh44Qme7hPjMhvkfw9He4oSx+GtAmPYjLzlneWEoSHS9VWSRuWN3Q/2ye8bjpcTwCe/8WTtobr8/iSrgzRL8lkEMN+AlVhT66KPJu1cBLrNotr21KwkE2H72IZ7iaxhPHNjlwtn9wkuD/zMpCVVZAFrqnjEpTCvlkDvzVeqzCWTo+fiDFO8QRhteTaANBLDGsYEbloidl3/386OWuCCXC6Is8xuiWygC4DzHQ9ZXCfY+zeDO1oxOkGA7PhMI+OOT6kp+T5UvM39pcfj/jAdNHohsIul+kEroRk7nEOy/I17wb3qowaLh3DuFEiu5b8+Mr6mLPsYuqhsdq3SfHukjRiGR5AlniwTyUlilMbRcEs8RQzB+0u3oh8/QvUn8pdwMV6BxEy/rn7/6cfG9HGVxr2oYZRJ2rG7jiZAJ0m5ONv21PdDBPTuPQMn9hgOcof009EoXrNQSiLxGnxTvPCeU0jl77br6PDSyTycaAlYPECE5hECF2d2ICVvvclZ+OkXjriPTfMYns2QeQcr0Kt3w8BH4gsvv4G8XZ4djlgoyh8vudu2dWlssHt1bAMjfSKpyXvJUIDUUYLkrLD6/u37hHQis= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: To simplify the code and to make the assumptions clearer, refactor user_mem_abort() by immediately setting force_pte to true if the conditions are met. Also, remove the comment about logging_active being guaranteed to never be true for VM_PFNMAP memslots, since it's not actually correct. No functional change intended. Reviewed-by: David Hildenbrand Signed-off-by: Fuad Tabba --- arch/arm64/kvm/mmu.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c index eeda92330ade..9865ada04a81 100644 --- a/arch/arm64/kvm/mmu.c +++ b/arch/arm64/kvm/mmu.c @@ -1472,7 +1472,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, bool fault_is_perm) { int ret = 0; - bool write_fault, writable, force_pte = false; + bool write_fault, writable; bool exec_fault, mte_allowed; bool device = false, vfio_allow_any_uc = false; unsigned long mmu_seq; @@ -1484,6 +1484,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, gfn_t gfn; kvm_pfn_t pfn; bool logging_active = memslot_is_logging(memslot); + bool force_pte = logging_active || is_protected_kvm_enabled(); long vma_pagesize, fault_granule; enum kvm_pgtable_prot prot = KVM_PGTABLE_PROT_R; struct kvm_pgtable *pgt; @@ -1536,16 +1537,10 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, return -EFAULT; } - /* - * logging_active is guaranteed to never be true for VM_PFNMAP - * memslots. - */ - if (logging_active || is_protected_kvm_enabled()) { - force_pte = true; + if (force_pte) vma_shift = PAGE_SHIFT; - } else { + else vma_shift = get_vma_page_shift(vma, hva); - } switch (vma_shift) { #ifndef __PAGETABLE_PMD_FOLDED -- 2.49.0.1164.gab81da1b16-goog