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 B22AEC3ABC3 for ; Tue, 13 May 2025 16:34:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E6016B00D2; Tue, 13 May 2025 12:34:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9645F6B00D3; Tue, 13 May 2025 12:34:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 769836B00D5; Tue, 13 May 2025 12:34:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 526D06B00D2 for ; Tue, 13 May 2025 12:34:49 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 752541D0990 for ; Tue, 13 May 2025 16:34:50 +0000 (UTC) X-FDA: 83438433540.16.3D5E688 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) by imf20.hostedemail.com (Postfix) with ESMTP id 92ED81C000E for ; Tue, 13 May 2025 16:34:48 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=W3pc1awm; spf=pass (imf20.hostedemail.com: domain of 3p3QjaAUKCGYXEFFEKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--tabba.bounces.google.com designates 209.85.128.74 as permitted sender) smtp.mailfrom=3p3QjaAUKCGYXEFFEKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--tabba.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=W3pc1awm; spf=pass (imf20.hostedemail.com: domain of 3p3QjaAUKCGYXEFFEKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--tabba.bounces.google.com designates 209.85.128.74 as permitted sender) smtp.mailfrom=3p3QjaAUKCGYXEFFEKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--tabba.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747154088; 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=pOo7NLt8OkegplqfcXi8muyEPIUYBCHaIAUmjBpBydc=; b=uXkMnXJ7KrS7nZG1UKqcGMRHS32rHkKUYgD1pWzFjAP4Z1zFNHy6WmL4ZRcpgMZhs1TWrM RJ4dcmmj07M0ER3AvnR2JFHSHrXGscIYMgOl8T8EhlJy1CSXbV8q9JmJK04/BNJx8CytiN 7d1D8+pdXeZ+xo1+pWIinXnTMVrkZZ8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747154088; a=rsa-sha256; cv=none; b=YeX9vSS9fP5SMParqgXuRd9MFCCAIRXncxiPWpJDoXeNJXdbf+5v3mi6yqNUjFTjc60mu/ OKY+dx/xUk0ltK/Ag+ZJ4g8XfoEPNJvF3yNWZfywbw/yFwWsTL9B6vZqPqz0Cuj9vRUd/a S6VH9+ClasgsEnJKzriNzSSatCmmDSM= Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-43d5ca7c86aso28423855e9.0 for ; Tue, 13 May 2025 09:34:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1747154087; x=1747758887; 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=pOo7NLt8OkegplqfcXi8muyEPIUYBCHaIAUmjBpBydc=; b=W3pc1awmRuux/0c6hE510vc2swMiYszssrI8wpd0mDS4CjCoYNoGj8t4r6XLRsf3zS 4AhPle231Yc2GYdVdBaq8W3RGc1V/lgupO2S0gv/1lkBOpXmPXpA7r8ASK+41gtN4YGV broS9iCli/jNLcOnlnFoeu2eiY6CDyS+FkjZWqe6I/i7Ma64gBmHxOcRKwnWpLYGo6hI xkZtbvenc//ztdol/vf/xH6E/oyZiYOM2zsJ/TR3CA/hSGnxUSB+5wzdDNqHPnW0pWpo YpZFFHLGJ8j0kp78/Mffoo4CP1jDX3pIcAH3aqGAZxVOj/qOVS+KU1dAu7sbgfMM8nfH MbIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747154087; x=1747758887; 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=pOo7NLt8OkegplqfcXi8muyEPIUYBCHaIAUmjBpBydc=; b=Ao/MscExkanTvi8kNS7eVh59yVFRTg5uZ9t7g0aBbL3kEgagj/N57FDNYqMDAT1S5J +VzQ7LLPwfDvU+n5wSr3bmoOdSh77uDDvM296JkSqmM+8b4km6MuaD1d4GVWPJtXjwxV rUNvugxNqL+6/60scTafxM+hmRNQOzDlRLUMqEUTcNk7Drii4LD2JI05/HOEvdbXlahd jHHbChMoyhisiCZtKiYEiOXczQl3B+XFxvD2wqqIVayFhbZNVSVWZ5HGuCxKBIcLn4L6 SaNyMVgY0edxxKkxxBUKfb8lIH+CWASkMACZml7T+e0le/u0mMBwqgU1BbWQALZxqqwO UArQ== X-Forwarded-Encrypted: i=1; AJvYcCWt6kVvoU4ZULOQzI+DTBU8/F90fJ5PmgRltNHLZrKiUcVb5+QfW8/3V7xW902ndbJGiJORs6uatw==@kvack.org X-Gm-Message-State: AOJu0YwsZUaQD8dgN7b3LGk7A/r78ek8r76sWDJ/EqYeZ5qT1k1nadg0 TkRohqp30qlfuPGcXlOSOfma7meFdbFrIjxB7rV2Xe/Xp6Y22npM4GM0heD+1nJUB7P/fTCcsg= = X-Google-Smtp-Source: AGHT+IE20aWTU+SpWpLldk/SfXaJ1mqHRG53T0tf3UqiygvBHSE+grusEkGSY5r+UM8qg1JZfkwl9ZFAMQ== X-Received: from wmbdr14.prod.google.com ([2002:a05:600c:608e:b0:43c:ef1f:48d3]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4e87:b0:43d:7413:cb3e with SMTP id 5b1f17b1804b1-442f20bae12mr120965e9.1.1747154087002; Tue, 13 May 2025 09:34:47 -0700 (PDT) Date: Tue, 13 May 2025 17:34:24 +0100 In-Reply-To: <20250513163438.3942405-1-tabba@google.com> Mime-Version: 1.0 References: <20250513163438.3942405-1-tabba@google.com> X-Mailer: git-send-email 2.49.0.1045.g170613ef41-goog Message-ID: <20250513163438.3942405-4-tabba@google.com> Subject: [PATCH v9 03/17] KVM: Rename kvm_arch_has_private_mem() to kvm_arch_supports_gmem() 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: rspam04 X-Rspamd-Queue-Id: 92ED81C000E X-Stat-Signature: 8gyq5p8ac9ikudbqakmik133ndmd99xj X-Rspam-User: X-HE-Tag: 1747154088-368657 X-HE-Meta: U2FsdGVkX1/1P9+u06Xpav9FXPPHEHvUqGSpsuedezpo/1PaduNRaDensmTCSdkwu9wsQ2os5knbUwT/9Y+viDKHnVULeii/0JTNzoTk5MugDztnPkX5uxddWhriULtavB4aSLSWteFn++T2A+s9PfEKA9foeAfeYsXxwGcGCebHo8oBpgRxDZIx2eGUTG/vT1MqF/Eh05j1PgKDAJT9MR42jkWZ9fk32X5L3u18y1dWq0OH4SW3Bkqsgr6xYaRkAZ/ELuAXflTMeCMAQED0FMWc4qqYa54h+9ki1UjFrgXMF+TgOnXgcLFGs5UJ/6xmCMmmyt3UWAv4dGcHnA+z2j8Z3QmH3chZsL7x7zF3AG7H6KmqtvDUEBWQiJ8g8if/m9nhW28e7/+ooRnRcwNwAteWYI+/CJ0UJgJDDXVXXWNhwpKIveSqsVYmcqYv3HDK1sVPsO581SqAjJv27zPbkEUPIQRn2fXOVAPHwGE/oLNp4WZsV6O+h5Vs2tlrOCCjFxMVOKxwY7lzVsD+H8crIbGkl4iy5g5b02G6OTvMRn5jM6hhXRMCNGrs5IO+G3csYa09y5nX+qVi1UJ6YjibH5Fx4YNHGbbTeqOD7ORc4BJiPBbBeH+sDnzJjvkKR9nUgYnjwUqtA67ejIqF+pe5ABaW6Jab6bfPeomkYqVtL9aehH2B++tRgNsBiJDLCpObA3GyuCniDJimilwv1kX21coF55Z2oB+4BmAfS2vHhrIfsbCsEHLhkcyiVMqUdieN4BMU6uZ6wZFvKRd7ChKKl/2bE8WnF9tXG4tBxLxxHsobq7NqUlAPE6VJf9oGZxz87yr0eHWfUikrtx5RdgoCbQfYCqqZvTDAlzwMznZX0znfxmxHGAQ6A+QbZwQdubssMPUrGLGrVdpwyx1KlS7BnJJLsiW5A2xNrgCZ4pla4tHMb4MPKNwOrgm0GqKKzqM42eGfAYzrQ9pcOKfGAvS BAYdn3Te SP3KX9moOcUuRPj/jw4Sgq6oSZtT2u5wFgzrKK9meMKv12XlcCjKcu7vtX3/B0PyuR/0eCK+s1NKDcXxSGiz4SSZNKNuyqWlnWwMPyndgW0+WzmjsODmIi9mn6HM4QqwjBCAujMP7QIkECQ8ZghBeh3zAli02sdspmg6WgwgmqsXHs9QkfTrSwjtGr0lL4DIEK/n9EA2SI+O3nwAd8dFcYPDIe/wpHrL0dO2bFDXeBO5tO0GfdKRvkgKxxTYs2/MVuUVNoMQti+aNzzs0tKDSqtWm823PPFSRg49J3DGd7yyShD/uIoyOsv+hA8NU/98imBCj+kG68Mqiie1PTzIvKYk6oxcOQY7862EkibUV2DY+X/w3SsljFl9N6Jc2msMAcKQEdpPXtxTchdroTjfsDf4rrn2jNaYBMN/QGGZ6IZR+YoicrYgPFwQIceU+FMI4Pbr75FqnXftNw0NHRB6TpK2alwyCaKQ5pmYiSNZeeDo+GFNqHQkpRbBazk1hDkIvuAd6Xg/xKGjnE2921TiCcaR2rbiPM6PKYe0TzpJgmBkd1tjA3lDNmYc+YZg7R+ezTwyJLtz8AtH6BMvl0W/KjUkSx5hy/N+1lf2sy1Pd01P1ARzaFxwzT92G388l7MoLyzu4zDS7UCjZ4T3ktoMmIUcC4iIMl43voxOfKXiHcBcJYu9ijXEqX36nEvdh/AwbF/NI 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: The function kvm_arch_has_private_mem() is used to indicate whether guest_memfd is supported by the architecture, which until now implies that its private. To decouple guest_memfd support from whether the memory is private, rename this function to kvm_arch_supports_gmem(). Reviewed-by: Ira Weiny Co-developed-by: David Hildenbrand Signed-off-by: David Hildenbrand Signed-off-by: Fuad Tabba --- arch/x86/include/asm/kvm_host.h | 8 ++++---- arch/x86/kvm/mmu/mmu.c | 8 ++++---- include/linux/kvm_host.h | 6 +++--- virt/kvm/kvm_main.c | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 52f6f6d08558..4a83fbae7056 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -2254,9 +2254,9 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level, #ifdef CONFIG_KVM_GMEM -#define kvm_arch_has_private_mem(kvm) ((kvm)->arch.has_private_mem) +#define kvm_arch_supports_gmem(kvm) ((kvm)->arch.has_private_mem) #else -#define kvm_arch_has_private_mem(kvm) false +#define kvm_arch_supports_gmem(kvm) false #endif #define kvm_arch_has_readonly_mem(kvm) (!(kvm)->arch.has_protected_state) @@ -2309,8 +2309,8 @@ enum { #define HF_SMM_INSIDE_NMI_MASK (1 << 2) # define KVM_MAX_NR_ADDRESS_SPACES 2 -/* SMM is currently unsupported for guests with private memory. */ -# define kvm_arch_nr_memslot_as_ids(kvm) (kvm_arch_has_private_mem(kvm) ? 1 : 2) +/* SMM is currently unsupported for guests with guest_memfd (esp private) memory. */ +# define kvm_arch_nr_memslot_as_ids(kvm) (kvm_arch_supports_gmem(kvm) ? 1 : 2) # define kvm_arch_vcpu_memslots_id(vcpu) ((vcpu)->arch.hflags & HF_SMM_MASK ? 1 : 0) # define kvm_memslots_for_spte_role(kvm, role) __kvm_memslots(kvm, (role).smm) #else diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 8d1b632e33d2..b66f1bf24e06 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -4917,7 +4917,7 @@ long kvm_arch_vcpu_pre_fault_memory(struct kvm_vcpu *vcpu, if (r) return r; - if (kvm_arch_has_private_mem(vcpu->kvm) && + if (kvm_arch_supports_gmem(vcpu->kvm) && kvm_mem_is_private(vcpu->kvm, gpa_to_gfn(range->gpa))) error_code |= PFERR_PRIVATE_ACCESS; @@ -7705,7 +7705,7 @@ bool kvm_arch_pre_set_memory_attributes(struct kvm *kvm, * Zapping SPTEs in this case ensures KVM will reassess whether or not * a hugepage can be used for affected ranges. */ - if (WARN_ON_ONCE(!kvm_arch_has_private_mem(kvm))) + if (WARN_ON_ONCE(!kvm_arch_supports_gmem(kvm))) return false; if (WARN_ON_ONCE(range->end <= range->start)) @@ -7784,7 +7784,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm, * a range that has PRIVATE GFNs, and conversely converting a range to * SHARED may now allow hugepages. */ - if (WARN_ON_ONCE(!kvm_arch_has_private_mem(kvm))) + if (WARN_ON_ONCE(!kvm_arch_supports_gmem(kvm))) return false; /* @@ -7840,7 +7840,7 @@ void kvm_mmu_init_memslot_memory_attributes(struct kvm *kvm, { int level; - if (!kvm_arch_has_private_mem(kvm)) + if (!kvm_arch_supports_gmem(kvm)) return; for (level = PG_LEVEL_2M; level <= KVM_MAX_HUGEPAGE_LEVEL; level++) { diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 7ca23837fa52..6ca7279520cf 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -719,11 +719,11 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu) #endif /* - * Arch code must define kvm_arch_has_private_mem if support for private memory + * Arch code must define kvm_arch_supports_gmem if support for guest_memfd * is enabled. */ -#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GMEM) -static inline bool kvm_arch_has_private_mem(struct kvm *kvm) +#if !defined(kvm_arch_supports_gmem) && !IS_ENABLED(CONFIG_KVM_GMEM) +static inline bool kvm_arch_supports_gmem(struct kvm *kvm) { return false; } diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 4996cac41a8f..2468d50a9ed4 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -1531,7 +1531,7 @@ static int check_memory_region_flags(struct kvm *kvm, { u32 valid_flags = KVM_MEM_LOG_DIRTY_PAGES; - if (kvm_arch_has_private_mem(kvm)) + if (kvm_arch_supports_gmem(kvm)) valid_flags |= KVM_MEM_GUEST_MEMFD; /* Dirty logging private memory is not currently supported. */ @@ -2362,7 +2362,7 @@ static int kvm_vm_ioctl_clear_dirty_log(struct kvm *kvm, #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES static u64 kvm_supported_mem_attributes(struct kvm *kvm) { - if (!kvm || kvm_arch_has_private_mem(kvm)) + if (!kvm || kvm_arch_supports_gmem(kvm)) return KVM_MEMORY_ATTRIBUTE_PRIVATE; return 0; @@ -4844,7 +4844,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg) #endif #ifdef CONFIG_KVM_GMEM case KVM_CAP_GUEST_MEMFD: - return !kvm || kvm_arch_has_private_mem(kvm); + return !kvm || kvm_arch_supports_gmem(kvm); #endif default: break; -- 2.49.0.1045.g170613ef41-goog