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 DBC82C02193 for ; Wed, 5 Feb 2025 00:42:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E42B280001; Tue, 4 Feb 2025 19:42:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 393C26B009E; Tue, 4 Feb 2025 19:42:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 20CB7280001; Tue, 4 Feb 2025 19:42:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id F0A876B009D for ; Tue, 4 Feb 2025 19:42:47 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6F7BC4514F for ; Wed, 5 Feb 2025 00:42:47 +0000 (UTC) X-FDA: 83084040774.12.98F8671 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by imf09.hostedemail.com (Postfix) with ESMTP id 6B6CD140009 for ; Wed, 5 Feb 2025 00:42:45 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pDJeAnUb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of vannapurve@google.com designates 209.85.167.52 as permitted sender) smtp.mailfrom=vannapurve@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738716165; a=rsa-sha256; cv=none; b=AYFXn2xwf9mWf8tUUavMMSDn+6o3/t0+iVigN5dhAlBKtYZUjY2hKx9O/f6TsDeIrzHTUI eRmbofOVJZJy2yAd6YTAn3PFx4PkHDkYDgAJNS9dRKdevvg67S810hF7cx8/9NPNpSS+h6 Ev0Wm6V39OVZfP6SWIgcDv2UiEZE694= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pDJeAnUb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of vannapurve@google.com designates 209.85.167.52 as permitted sender) smtp.mailfrom=vannapurve@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738716165; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+k4LG/xT//VjVjGnheLfyBH4vM/8in5IOLbtjE03/+4=; b=lBfv/u0G484UIEjPFtFCC5qvmMLY01gdt5sEv0nOz3hoq7YQNB1f1J6tSOSldRwsPhlhmO dKtILXJ5Nr1n4hdMtzP3mQwetanM2rARCoHFfnZqMxCZBYcXe3Q778wWksR6XHteGmbA4j FKJGgI5rEUCcgW7n/fUONjw1ZPx7u7Q= Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-544043a21eeso6296e87.1 for ; Tue, 04 Feb 2025 16:42:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1738716163; x=1739320963; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+k4LG/xT//VjVjGnheLfyBH4vM/8in5IOLbtjE03/+4=; b=pDJeAnUbuUC5KdmdmNHuAJJu1/AoGFUF+VqfmOGiSnlz1c5l48PDaVk+3rtaJvebyR tsvpKBXDPCw7nbiahy1zc8nBg+i/7ThTQ6ZqcFfvUe5dZY8iBcY4pisHTDkq5IrdXlvF AM50a1X/AlWLCc3/2xfMmiELDpR8VZXKRZXxUt9EsWvFR2jU0IKzAn/m2XVq8cBwOaSB IkbYTDBwmMgLSdGbM0tg8jv5ptqT2TA3YwZZrltPrWphmfTrdpMfyulAM5KA5NAqQ2rJ nmobUnX4iCvM8OUsCfBHKg1eqpTw58uLw8PWVc6vB30t+sch3sgO4Bxgs7vn8fOtj6JR MQEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738716163; x=1739320963; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+k4LG/xT//VjVjGnheLfyBH4vM/8in5IOLbtjE03/+4=; b=AI0sko1XM54+/7m81cMMbalKxXUqp9xa9rb5raWxoQh0T1uPCPYm1r3Jmx+nASphiQ /Gqp3KteMkZjKlMA4o3d+2voCzEa565b7DTo80QTDsoLGotCwVtQQuMagVFn4XrZ0M4j brfMr53e6cyWS25LioKlT07vHQ+8eQVP0zDMIAR4FNU1zEf0Tx7yQcAVRIbLMW+Lr0tR murMOUcRonI2m4Sg8m51EUdZjf7IgYfU5YHTzSgeDgZqOI36ZAiYvJ1FY7irSNM0Amvu lz87ejDpgoBlu8tf/CDQDEfVHIOGXoeZXizdzEKdM39UL3RABS9LuQHXkbCKImwk/3Pp RLdw== X-Forwarded-Encrypted: i=1; AJvYcCUs9cziZSL3zR6oiYannBMpGaUTqEkg/YbVXmQVpgKxbMHpHWw/36JrA8I0BNrdmPQBhIPsz+eFbQ==@kvack.org X-Gm-Message-State: AOJu0YwWmHP1BIJ0QSpjNKW2Lmyppu/c1FrrDiF4OkZ9ws/QNutxQjJB nbmyGw91lxVaV16DWvM1SZ+A8jbJgHLjDmkfHMTGSBwrmUGribBfZHo6OKz1ZLNmiEYv1S38IDM 8vqa403QxsW44U1pwMX2yL2CaZhTLXxpLvTga X-Gm-Gg: ASbGnctD6wIKAv6S1GWatTepR+n5LdLLK97WMojAD25ROb+ACVh7OoyhGht1qGMqlx8 VGSfW/GhnjN4xcESc/d6sT2feWnB3iij7CWTw2rpRKad3k/HSjxBNvH+krKVHjOMEWfs7v01bj/ fZcKMsDvhScYFniMEAtOkO22yh X-Google-Smtp-Source: AGHT+IGnTx6UzLjGyk5EFTTHRVuNUcIuJg7HuQX71hjcnsPe9x8OGm1xiRttmYhFZ6m7rhIXBpjHdBpULzkf6vArrrI= X-Received: by 2002:a05:6512:3f26:b0:542:92ee:25ec with SMTP id 2adb3069b0e04-54400bd3692mr317361e87.1.1738716163227; Tue, 04 Feb 2025 16:42:43 -0800 (PST) MIME-Version: 1.0 References: <20250117163001.2326672-1-tabba@google.com> <20250117163001.2326672-7-tabba@google.com> In-Reply-To: <20250117163001.2326672-7-tabba@google.com> From: Vishal Annapurve Date: Tue, 4 Feb 2025 16:42:31 -0800 X-Gm-Features: AWEUYZkca8r5uZlJZJrsv5qE9mdpIrtFmbgbr53sT6Fli1EBF4Nt1S-XWhf5aYQ Message-ID: Subject: Re: [RFC PATCH v5 06/15] KVM: guest_memfd: Handle final folio_put() of guestmem pages To: Fuad Tabba Cc: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, 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, yu.c.zhang@linux.intel.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 6B6CD140009 X-Stat-Signature: 3ksfqs74xycmp5trrgsadw9jn6bg4y16 X-HE-Tag: 1738716165-473084 X-HE-Meta: U2FsdGVkX1+58GkJ96U7dm4KziMpU5UWCK6NB/1xYp5XgWyep2kvBZQGzF/sUpVxVIF+1GpsV56dzNCer1zgfUQrdPeuOgH2K+ujWi80rKFJ+uiKt0GO2Re0ISK0yucp75c6bO8BFsQBPPuFDXvFviNZW8n/3Yx/iYL0VTRmFztGCocyPqadPfTerpKzY2nOUMg3oQQ8+rdNEhGFCh5f21IoVrDAY1+DRAc4NZNS3oXBNUuX/BQS/K0ptUj3dYXZ9gfsn5upfEWaCUMXuufIpsKGR/3IqmMHzIXswVo7OW8ff7qKGfP2OBQoRbhZ5CVi8f0msw/dI0SvlXAwk0kElEAm/ViJwDJw46jOTVGdsZ7SbfTRpEYhsi18i6z4+ETlG3tPjc3Vvk7OuYxmt6UlwsXN+YkE742cnNS5n9dsRZ2ipnkVZmaKdeJpeIQfOxva6RdDmhOe3FqxDQ2r2JiUSgb2kUJy4pR2un/a6Yho485QJ3JJ1d3KAAVBF3hnYciU2FTemOJ4ML30yfiXUuH73hU7tCvH9QZpsGZAFECc5ODdtO64+qjgK2fWcov+nMTrAnEZsMsCU+hjOoeJKDq4Afm0sADsWcrlbQJgmT1YozS8A9sDIm5jevNg7eFiPtvw63advq1Xa6HJjKrZ5AdGZk4G7u66wOdM7eJvbRE8eVQw8nNoknyr3ePvm1kEznKpZyM8EhsiLSw/RDh4b+hAvmHVSH1sO+dFaeLeSy3a+duAnLUDko1Ui2cbfAJC6As+87P6fqYf/9IIWJg/S6AVbZyQShmGKZ0yXEv0lhEG40M+6pqGKxuImI1eyI9GkodYmWD6htcPtGlM4p+KYEzQ+EycbzI6ClxH/Dt9OlpPa/JSCs6hbk2CbWGmngBEMR8ErgoBd8VPYFWjE0q5cEc41BGUz8NgQ0k3YDZ/VFkGunloZXczn+2OSTrNfDSUN6cc446IoUlzCUmmAvjb7zv Fbc1jZS3 11kyNQahneJZ7/9lqTONCZb2MuPQUTrq0y8YouY/brftbCh14KWJ9UjjcTOzDpFPriIcFocVM+bsyolpwNj/WFBg+xEGJOrsXipzQCnscsr9PyMZ5I8efINoTyM2qxRDUjm3bXWfXkik8qdA81Wv0Md4/AwiiVoKUolCdYjdn/zVee3u/aW60W2+ucL0oMQudVw6e4L+GzDCxv+YogOfCdRSmMXHbwczX9Z/Y2xD9lTDcc6AajImkD7drCxgOkVbw/f1WKwn96i49j77LVEWGcNz53jNnatD90onzPHjQYsNp0Aa2WOOKrz2rYt91xeKq8I8CkJJ+rzPa76N5gP34KhWn2+17Mi2HcJsmln/mWrjRZd6cEltGtBYzbbXpjsVEjOx2b3jOc4WM0bU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.005823, 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, Jan 17, 2025 at 8:30=E2=80=AFAM Fuad Tabba wrote= : > > Before transitioning a guest_memfd folio to unshared, thereby > disallowing access by the host and allowing the hypervisor to > transition its view of the guest page as private, we need to be > sure that the host doesn't have any references to the folio. > > This patch introduces a new type for guest_memfd folios, and uses > that to register a callback that informs the guest_memfd > subsystem when the last reference is dropped, therefore knowing > that the host doesn't have any remaining references. > > Signed-off-by: Fuad Tabba > --- > The function kvm_slot_gmem_register_callback() isn't used in this > series. It will be used later in code that performs unsharing of > memory. I have tested it with pKVM, based on downstream code [*]. > It's included in this RFC since it demonstrates the plan to > handle unsharing of private folios. > > [*] https://android-kvm.googlesource.com/linux/+/refs/heads/tabba/guestme= m-6.13-v5-pkvm Should the invocation of kvm_slot_gmem_register_callback() happen in the same critical block as setting the guest memfd range mappability to NONE, otherwise conversion/truncation could race with registration of callback?