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 60FD5E69186 for ; Fri, 22 Nov 2024 18:23:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E5B316B0082; Fri, 22 Nov 2024 13:23:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E0AF36B0085; Fri, 22 Nov 2024 13:23:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CFA456B0088; Fri, 22 Nov 2024 13:23:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B21556B0082 for ; Fri, 22 Nov 2024 13:23:13 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5F33A1A18E1 for ; Fri, 22 Nov 2024 18:23:13 +0000 (UTC) X-FDA: 82814552016.04.0B1B59F Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id B4553100012 for ; Fri, 22 Nov 2024 18:22:09 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=cbSvla7i; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732299699; 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=9sYuGQL1WZhF2hZ3J+JuipVRSYMiUCSOWCts3kbR50A=; b=11rZQrwbcLsTaow9+vHE9zq3gxGi37yK/UnX6Lf5ZuM0an5N0C2LBq72+ymz+pTAXpXzJ9 6i7hkWpXET4ZYsN3etLHmoTTHeByj2vrRC3T4j0ZMvgyz4/xYmBTos0yGkQVkxopGPQ9/R 0DkbhSuS6EbctCxIloBQ9K4eJHxgyVg= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=cbSvla7i; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732299699; a=rsa-sha256; cv=none; b=PhEJ5IebO/vTAfOKdTzeZORgMnp2uzg7BigYBl/aNxH3b2oPqFodn5ymBmlrQPTmCFWPUo TTDlkkqIWSPMutstYZN07JkS/oi3TOnqqc1R08QiYw536/OCn+qKDZQfD/T4qHnLuH5DkD tHniL5LTHxXt2hlRd5abLCq0K+cAxw4= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=9sYuGQL1WZhF2hZ3J+JuipVRSYMiUCSOWCts3kbR50A=; b=cbSvla7iPzxM6su8n80MIGoprm S+XTGfyXS26q0XPJZk402JCQashv0FVUmR9e5nqkM6A4/NUqk5ACCwY41XdwkX5lAWwZEOxa/YED3 kxiKQOnp/rEYGoNa/EgL9HQ5Ds2fh3wiDja8v6+l1FmxXDjmCMPwfS+dMG2LkeFHpOq7/8b+mGuNt N3n5B3uye5L1DQ7tDPrmPgwy7GOFVso//2eg+HA3Pi55t0t8nnuPEt4kG1AgBRXmmawAToDF8P+7v ayC6bo0RQ0Bed9NsmeCJhHPgZmrfoiFQgDyBLTFMyiTbQUCB46To4bPPbgO6MCzScg1su5w8aiUWf GK6C7cQg==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tEYIw-000000088Di-12lh; Fri, 22 Nov 2024 18:22:54 +0000 Date: Fri, 22 Nov 2024 18:22:54 +0000 From: Matthew Wilcox To: Elliot Berman Cc: Paolo Bonzini , Andrew Morton , Sean Christopherson , Fuad Tabba , Ackerley Tng , Mike Rapoport , David Hildenbrand , "H. Peter Anvin" , Jonathan Corbet , Trond Myklebust , Anna Schumaker , Mike Marshall , Martin Brandenburg , Alexander Viro , Christian Brauner , Jan Kara , James Gowans , Mike Day , linux-fsdevel@vger.kernel.org, kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-nfs@vger.kernel.org, devel@lists.orangefs.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v5 1/2] filemap: Pass address_space mapping to ->free_folio() Message-ID: References: <20241122-guestmem-library-v5-0-450e92951a15@quicinc.com> <20241122-guestmem-library-v5-1-450e92951a15@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241122-guestmem-library-v5-1-450e92951a15@quicinc.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: B4553100012 X-Stat-Signature: 7xsj7dbt47ud1gymy457y77cm8s8bi3q X-HE-Tag: 1732299729-986135 X-HE-Meta: U2FsdGVkX18pvaDtMqu3mjF85dpF/r2aFsQqyG2Pr24eqhnwUxAp3UrgBY9omB4C1QrzQCuG23+JJKRbkdRK9d9za1nrKxNoBoSgK3A2BNJV9kIoZo/d1Jn43dBXmohfIq4iR06M8K7++SiCBtFlDVeYNx6I9RehGaKhsPxnaEFdHYbemtK8EicwJGEhlsp3dKUDEyKSAVXUdBllrLX3DgrO/vqyKi0Y0Jj0hIkH1OddO0k6C5XBA9swdJxvghEfIsNRKzGVUiDZh+1cLj74DH5QNqHDJmeeo4jno5d0lr1Vp+OI3xun4TPMwwTIMst4Xa+MExDZ0lTbCh2F7BqppSXuV9YgeHauAf8t8a7aLg89DGeI0F+Hw1RhMvzD7SnZI1QZNk2NXa5OVk4GSv7lXQLChquof0diFZG9T0mErMsQ21vcnFeqT4ZXDOY5/i0LiVF+b+l8Z7k8eOh83h8ZgODhdBG4QZzBSyB7Lmp8sFnh4N6IqxeMQqPfy/YRnDBTTDxm5T+ISEfCsO5Ybc3zoXSwIeQIuqQv+wNG71aPUcNpv6OykInmtAxaYcssY+QQrs3F10uVKwv5sUcFlFazF25XyGGOCfwC+u+N9ZE5Old2c2qvKgEKVOGRDTlKtuI1LI3+/lbmFSwSqoUPIT2u79E6cYf6oUENh+7oZ4v8TMMb0dFwARJN02EqNhRAONEOEhXvj3CGi2tiR/NGA93IepUjJHY3Wpzeli6yQJyPg/Nvp+caOTdVfBGTs+S0+r3hGXsTrwrw4Q+hA0HifXNrzFRdfWX2HmM0J4DVixTLMwAmnKk9beFFcm4hs999rn5ZoTcmqqYw6pyaaXLi0aTmE0U0N6h1vXB5oe5x54vp7P3dxP5R1k1iRUXp6/Nqp49Reh8tgiVC0tIMp5aSu8Krh1SzO0FZZhQurp0v65ixwDaxXuvXfNhiVpOMJ4pyR3NTD17KtGosErQgxun/Kfh XXWZ4dNT 2Yy9Zzae3dn3auXmYegXhJkbBhzidiHUTlWzyMCxmg6uR2jIjhPCYeVWBA7npC8m9oDMyKr6nz2yHPa/21Dq4lh3Wl7PNYeyAjs4KsFhsWMa/U2AX2ka6xgfF+E5M5ksKRcYYocZtJ5xd4fQb1cdEQg2uocY6Ab4w4xZqfgKfkACiFBgtb4RiiCMT/uc6y1q6LB0gwWkrra1SkPUhw2hmNrwFYG2fiRC8UG1CN4EWOqmGCMr7D8h5IO/sxKKx5es5WVIHpVq6oT5+j0/GndsC/z/NYQ== 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: On Fri, Nov 22, 2024 at 09:29:38AM -0800, Elliot Berman wrote: > When guest_memfd becomes a library, a callback will need to be made to > the owner (KVM SEV) to update the RMP entry for the page back to shared > state. This is currently being done as part of .free_folio() operation, > but this callback shouldn't assume that folio->mapping is set/valid. I think this could be slightly clearer ... guest_memfd wants to inform the owner of the page that the folio has been removed from the mapping. The best place to do this is in the free_folio() callback, but the folio's mapping pointer has already been cleared. Pass the mapping in so that the callback knows which mapping the folio has been removed from. > --- > Documentation/filesystems/locking.rst | 2 +- Because life is hard, we also have documentation in vfs.rst. Can you please update that one too? > +++ b/virt/kvm/guest_memfd.c > @@ -358,7 +358,8 @@ static int kvm_gmem_error_folio(struct address_space *mapping, struct folio *fol > } > > #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE > -static void kvm_gmem_free_folio(struct folio *folio) > +static void kvm_gmem_free_folio(struct address_space *mapping, > + struct folio *folio) > { > struct page *page = folio_page(folio, 0); > kvm_pfn_t pfn = page_to_pfn(page); You could just use folio_pfn() here; maybe sneak it in as part of this patch or do a separate patch for it.