From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from iad-out-013.esa.us-east-1.outbound.mail-perimeter.amazon.com (iad-out-013.esa.us-east-1.outbound.mail-perimeter.amazon.com [34.198.218.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 000C73E022B; Fri, 10 Apr 2026 15:19:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=34.198.218.121 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775834349; cv=none; b=mrN1SxAO93xygzroOIfFOGaZVMHi8ejyu3/XA3ODxupmS5UJZ3+I2wKj0cImUAKPCX5fzRr/XyS1NszhHn4Id9g1PYd079SnAw9H6lEXjzkM8Sj2dFhMs1jXu45ZAx8kRiKRWiwVpClh35aIKkw5baua7R/3hiBW+jGLHKWIvAs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775834349; c=relaxed/simple; bh=HFjPDA1LExr1rF5na9xG0pr70juzZXDamz5IUqH2n9I=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=JADFETYGxuXwDL4SBqFAsh1NZqoIUdlotASI7Ab3S7iEqi7ezKAFH3oN0Z9uiwx2HATT4QUFVxH+wV0nVNZjSd7kj1DSmUSey5mpHcqB5Fn/6IUx4Jd3bQX8COtfWOCXJweowuNMe5mBV++XkwflQgwp1pPgIdrahEOQrcTkcVo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amazon.co.uk; spf=pass smtp.mailfrom=amazon.co.uk; dkim=pass (2048-bit key) header.d=amazon.co.uk header.i=@amazon.co.uk header.b=F0wq15Mt; arc=none smtp.client-ip=34.198.218.121 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amazon.co.uk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amazon.co.uk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=amazon.co.uk header.i=@amazon.co.uk header.b="F0wq15Mt" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt; s=amazoncorp2; t=1775834348; x=1807370348; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Ad2/8Xs1KJ387StiAXeHCQllqb1BIfUe92knKJwThxc=; b=F0wq15MtFlVF4qJT8NZMW0QQcKUvvV0NKJXQZ/HqvnuXuieVUW8yDAXd 37sH4HBddaTJ0HhoG6tTmb96Z5S6idto6E2iI/6yjRpRpJG/Ig4B46BfL Kdm4IEtTOV8bLc+aXulRmQOqxpQCsSEyCcPURBlGyoQEJyLSPznR+rMp+ sB3AoAieXMYzuCWDCxexZuig0EiorKuNnHWfTGA0KhPN06AnazqTFq9nw rESTysy3d0epHtzltZHgMQinxUgYBR6U3BXZtLfJ8blL65gggw3y0l5Wm qRLHnClqqErJ8LighnmeLVrfz+FG+7GRG0/EoF8ivdcjAW9cRzHhqSUGk Q==; X-CSE-ConnectionGUID: I/19sXPASriJWeV5I8YRwg== X-CSE-MsgGUID: eiDY6iBTQ5WKRe3wTfoRSA== X-IronPort-AV: E=Sophos;i="6.23,171,1770595200"; d="scan'208";a="15428618" Received: from ip-10-4-22-235.ec2.internal (HELO smtpout.naws.us-east-1.prod.farcaster.email.amazon.dev) ([10.4.22.235]) by internal-iad-out-013.esa.us-east-1.outbound.mail-perimeter.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Apr 2026 15:19:06 +0000 Received: from EX19MTAUEA001.ant.amazon.com [72.21.196.67:3109] by smtpin.naws.us-east-1.prod.farcaster.email.amazon.dev [10.0.62.178:2525] with esmtp (Farcaster) id e2c7b72b-ac09-4431-91ba-569d63e54e7d; Fri, 10 Apr 2026 15:19:06 +0000 (UTC) X-Farcaster-Flow-ID: e2c7b72b-ac09-4431-91ba-569d63e54e7d Received: from EX19D027UEC004.ant.amazon.com (10.252.137.178) by EX19MTAUEA001.ant.amazon.com (10.252.134.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.37; Fri, 10 Apr 2026 15:19:03 +0000 Received: from EX19D027UEC003.ant.amazon.com (10.252.137.250) by EX19D027UEC004.ant.amazon.com (10.252.137.178) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.37; Fri, 10 Apr 2026 15:19:03 +0000 Received: from EX19D027UEC003.ant.amazon.com ([fe80::887f:519b:ba73:21d]) by EX19D027UEC003.ant.amazon.com ([fe80::887f:519b:ba73:21d%3]) with mapi id 15.02.2562.037; Fri, 10 Apr 2026 15:19:03 +0000 From: "Kalyazin, Nikita" To: "kvm@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "kvmarm@lists.linux.dev" , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" , "bpf@vger.kernel.org" , "linux-kselftest@vger.kernel.org" , "kernel@xen0n.name" , "linux-riscv@lists.infradead.org" , "linux-s390@vger.kernel.org" , "loongarch@lists.linux.dev" , "linux-pm@vger.kernel.org" CC: "pbonzini@redhat.com" , "corbet@lwn.net" , "maz@kernel.org" , "oupton@kernel.org" , "joey.gouly@arm.com" , "suzuki.poulose@arm.com" , "yuzenghui@huawei.com" , "catalin.marinas@arm.com" , "will@kernel.org" , "seanjc@google.com" , "tglx@kernel.org" , "mingo@redhat.com" , "bp@alien8.de" , "dave.hansen@linux.intel.com" , "x86@kernel.org" , "hpa@zytor.com" , "luto@kernel.org" , "peterz@infradead.org" , "willy@infradead.org" , "akpm@linux-foundation.org" , "david@kernel.org" , "lorenzo.stoakes@oracle.com" , "vbabka@kernel.org" , "rppt@kernel.org" , "surenb@google.com" , "mhocko@suse.com" , "ast@kernel.org" , "daniel@iogearbox.net" , "andrii@kernel.org" , "martin.lau@linux.dev" , "eddyz87@gmail.com" , "song@kernel.org" , "yonghong.song@linux.dev" , "john.fastabend@gmail.com" , "kpsingh@kernel.org" , "sdf@fomichev.me" , "haoluo@google.com" , "jolsa@kernel.org" , "jgg@ziepe.ca" , "jhubbard@nvidia.com" , "peterx@redhat.com" , "jannh@google.com" , "pfalcato@suse.de" , "skhan@linuxfoundation.org" , "riel@surriel.com" , "ryan.roberts@arm.com" , "jgross@suse.com" , "yu-cheng.yu@intel.com" , "kas@kernel.org" , "coxu@redhat.com" , "ackerleytng@google.com" , "yosry@kernel.org" , "ajones@ventanamicro.com" , "maobibo@loongson.cn" , "tabba@google.com" , "prsampat@amd.com" , "wu.fei9@sanechips.com.cn" , "mlevitsk@redhat.com" , "jmattson@google.com" , "jthoughton@google.com" , "agordeev@linux.ibm.com" , "alex@ghiti.fr" , "aou@eecs.berkeley.edu" , "borntraeger@linux.ibm.com" , "chenhuacai@kernel.org" , "baolu.lu@linux.intel.com" , "dev.jain@arm.com" , "gor@linux.ibm.com" , "hca@linux.ibm.com" , "palmer@dabbelt.com" , "pjw@kernel.org" , "shijie@os.amperecomputing.com" , "svens@linux.ibm.com" , "thuth@redhat.com" , "yang@os.amperecomputing.com" , "Liam.Howlett@oracle.com" , "urezki@gmail.com" , "zhengqi.arch@bytedance.com" , "gerald.schaefer@linux.ibm.com" , "jiayuan.chen@shopee.com" , "lenb@kernel.org" , "pavel@kernel.org" , "rafael@kernel.org" , "yangyicong@hisilicon.com" , "vannapurve@google.com" , "jackmanb@google.com" , "patrick.roy@linux.dev" , "Thomson, Jack" , "Itazuri, Takahiro" , "Manwaring, Derek" , "Kalyazin, Nikita" , Vlastimil Babka Subject: [PATCH v12 07/16] KVM: guest_memfd: Add stub for kvm_arch_gmem_invalidate Thread-Topic: [PATCH v12 07/16] KVM: guest_memfd: Add stub for kvm_arch_gmem_invalidate Thread-Index: AQHcyP1dDjIbyJ6qvkGL5MWaBvgVKw== Date: Fri, 10 Apr 2026 15:19:03 +0000 Message-ID: <20260410151746.61150-8-kalyazin@amazon.com> References: <20260410151746.61150-1-kalyazin@amazon.com> In-Reply-To: <20260410151746.61150-1-kalyazin@amazon.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Patrick Roy =0A= =0A= Add a no-op stub for kvm_arch_gmem_invalidate if=0A= CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE=3Dn. This allows defining=0A= kvm_gmem_free_folio without ifdef-ery, which allows more cleanly using=0A= guest_memfd's free_folio callback for non-arch-invalidation related=0A= code.=0A= =0A= Acked-by: David Hildenbrand (Red Hat) =0A= Signed-off-by: Patrick Roy =0A= Acked-by: Vlastimil Babka =0A= Reviewed-by: Ackerley Tng =0A= Signed-off-by: Nikita Kalyazin =0A= ---=0A= include/linux/kvm_host.h | 2 ++=0A= virt/kvm/guest_memfd.c | 4 ----=0A= 2 files changed, 2 insertions(+), 4 deletions(-)=0A= =0A= diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h=0A= index 6b76e7a6f4c2..e8aa3d676c31 100644=0A= --- a/include/linux/kvm_host.h=0A= +++ b/include/linux/kvm_host.h=0A= @@ -2587,6 +2587,8 @@ long kvm_gmem_populate(struct kvm *kvm, gfn_t gfn, vo= id __user *src, long npages=0A= =0A= #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE=0A= void kvm_arch_gmem_invalidate(kvm_pfn_t start, kvm_pfn_t end);=0A= +#else=0A= +static inline void kvm_arch_gmem_invalidate(kvm_pfn_t start, kvm_pfn_t end= ) { }=0A= #endif=0A= =0A= #ifdef CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=0A= diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c=0A= index 017d84a7adf3..651649623448 100644=0A= --- a/virt/kvm/guest_memfd.c=0A= +++ b/virt/kvm/guest_memfd.c=0A= @@ -522,7 +522,6 @@ static int kvm_gmem_error_folio(struct address_space *m= apping, struct folio *fol=0A= return MF_DELAYED;=0A= }=0A= =0A= -#ifdef CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE=0A= static void kvm_gmem_free_folio(struct folio *folio)=0A= {=0A= struct page *page =3D folio_page(folio, 0);=0A= @@ -531,15 +530,12 @@ static void kvm_gmem_free_folio(struct folio *folio)= =0A= =0A= kvm_arch_gmem_invalidate(pfn, pfn + (1ul << order));=0A= }=0A= -#endif=0A= =0A= static const struct address_space_operations kvm_gmem_aops =3D {=0A= .dirty_folio =3D noop_dirty_folio,=0A= .migrate_folio =3D kvm_gmem_migrate_folio,=0A= .error_remove_folio =3D kvm_gmem_error_folio,=0A= -#ifdef CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE=0A= .free_folio =3D kvm_gmem_free_folio,=0A= -#endif=0A= };=0A= =0A= static int kvm_gmem_setattr(struct mnt_idmap *idmap, struct dentry *dentry= ,=0A= -- =0A= 2.50.1=0A= =0A=