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 D9869C19F32 for ; Fri, 7 Mar 2025 08:56:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ABFE280002; Fri, 7 Mar 2025 03:56:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1350C280001; Fri, 7 Mar 2025 03:56:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEE01280002; Fri, 7 Mar 2025 03:56:20 -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 D0F47280001 for ; Fri, 7 Mar 2025 03:56:20 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D87271A06A8 for ; Fri, 7 Mar 2025 08:56:20 +0000 (UTC) X-FDA: 83194148520.07.5D6C6DE Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by imf01.hostedemail.com (Postfix) with ESMTP id E416D40005 for ; Fri, 7 Mar 2025 08:56:18 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=bGEKtYgw; spf=pass (imf01.hostedemail.com: domain of tabba@google.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=tabba@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=1741337778; 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=6GQHEoLTAFzBsO3pOwwB5OGgq8AJN92/UyqNILH3AQQ=; b=Lc86I1Qiq0LwJK+dkuusiyrbaKn7ZV6r4Xpc1xqLgY+3OM9FUC11PpCCRhxjN5fuAO98jC x+bJp8nLifBNpscSBQDY17r27+YZ9EiCtu1c/zFXXMzlcvkKP+515fN450WhmgtCqkTqNk /xwoLCJaTBxQlFvh0bCH1SIPM+Wo6z4= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=bGEKtYgw; spf=pass (imf01.hostedemail.com: domain of tabba@google.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=tabba@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741337778; a=rsa-sha256; cv=none; b=b4vvOMwodqBrQoaIZ7BWjAOwGtgDiBySsrzDPMjnxxPBd4BfEtojRSWlKq0rkKk4BF8sNj EXp1jfnhOOzxaAoAg7WgJXcLfC6glNOMOoaD/aK8RmLb11w/UzrxzJ8XYkTTaF4biTJOAm 5Egqx5vVFfT/9tacVKg0W6h219N807A= Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-474fdb3212aso246211cf.0 for ; Fri, 07 Mar 2025 00:56:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741337778; x=1741942578; 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=6GQHEoLTAFzBsO3pOwwB5OGgq8AJN92/UyqNILH3AQQ=; b=bGEKtYgw7AGE6+ug2Q3WkHDD3z4wytC5bt5ZH4Vyahp3AkKc7GTAEdtq2npVNllr8f HJ+1kOiNEeAQEEAEMVkBgUX/gqS1xMESCan12enO+Z+6LDg2Y14J79G9PWlewnvVArut FXiVjOnUogUvr7iPWtRl/p3e/40l6WdipPkr/TbtM26HTHpjtUme+r3xsIe/Z5m6fYzI LhouCq/no00gqha2N/U6QEUJ8xL4IV4lgUsvFZdJyPhk7PmDRwtuaFhktwA5le9MdxC+ w4Uc1PZCtkHG7jswOY0OXRY9IwjwHvixOM1X0EF+tW7xrKDm3JC0nXdFJqOyeas6eqNG eneA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741337778; x=1741942578; 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=6GQHEoLTAFzBsO3pOwwB5OGgq8AJN92/UyqNILH3AQQ=; b=PaNw4qazVSnjYPGkkm+bvgZfpGbi1zrVE3clN+cRN1pFVvpL7X1rkLbQzgbNlIe1ze AUWWid9haBDbiiz+UAmIE1kOyzHAHeSM+uDwFxp36n+qMmf9tCCtc+jBKkSpitQdr6jC A1iB0Nm28yYRWFh+U5dfXP4uOuTu38ugHGcy20HsiRviFVsOhTlTWI1E1eC329moJc37 KQaoCWUwqwLh+ew98MFHf4xBH2yXShIZFhN5q4qaU/aKodGajz3gX1ulroy8kkIJXncK iJUiahjSJd4t0pT8fGDn5ktbl9ZmukMFjy1GWrPDlrMfF5tt9TGB+i0PK9yTxq7i20/3 IpIA== X-Forwarded-Encrypted: i=1; AJvYcCXiNE6F4nAdYPrxOmTrCCWiPkR3tsv38W7tpHcLH6zmWCj13X9o2TK/V5qTZ/L7rbVOY74Ri1zoDA==@kvack.org X-Gm-Message-State: AOJu0Yz1Va5W2nwt5u0ZAwhAWSAu8u0Ht0FZOKdpMqOpVC0V5roYCnx2 CKaB3YiouxOtlV7G1HX6x9OTVyM77q1YvB4upyv8kWn81WPgWnu85bp0a9JD8sM7OiiVp6uK95h E9DjULse0dyRV7vJ7dTSssgw5O3oWTUwNK6EO X-Gm-Gg: ASbGnctLe5ANbDSnRycg8sXCKIQx5XsWHtgXJ67FKX3k+R5AfN3lxjbhh4t8S3ytDFp mdcfynjQhkGuyY3g9mB52OWNHLG4lNzWFjI9t92qOd0K3osKiglOkBP9tyHwA3tJgogx/mzWb+R vcBuE/wvTFkWw4U8e9DTZ5tEau X-Google-Smtp-Source: AGHT+IHw1oZaKmPCBs1ISB2portW8h1kNWaRUIgS0f9qwa4t2kBctwVH/B3jDuvDQd+jXMJiIAtCMYUSHhWqq2waroU= X-Received: by 2002:a05:622a:1388:b0:472:8e8:fe07 with SMTP id d75a77b69052e-47652083b39mr1890261cf.3.1741337777664; Fri, 07 Mar 2025 00:56:17 -0800 (PST) MIME-Version: 1.0 References: <20250303171013.3548775-1-tabba@google.com> <20250303171013.3548775-4-tabba@google.com> In-Reply-To: From: Fuad Tabba Date: Fri, 7 Mar 2025 08:55:40 +0000 X-Gm-Features: AQ5f1JoSEOn1B-_DQf2o7NWVh2Tb849yIB-2Usp-jM7lK4TSgCDQQhyJIBItfd0 Message-ID: Subject: Re: [PATCH v5 3/9] KVM: guest_memfd: Allow host to map guest_memfd() pages To: James Houghton 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, 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, peterx@redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E416D40005 X-Stat-Signature: az7tz3emx3wdyfhif1cazuk81nmbe9n4 X-HE-Tag: 1741337778-270504 X-HE-Meta: U2FsdGVkX19YJxflkElXMFDWwivRrX9SuaNxn39a/PS4RyWpVMp54XedWKELqwvOCwNSS4gRix7DI0w+1G+xhgzlhY7yfLZJFvZMmBQpvGW28bFwCkXwHMVBhBuVV+bEqxyY/Ez8A4Ob5fdFA3zMWwtZDy+zosn+vszrMtygqumnbh2LoQNJ8LDy2mU0RErXqVQClOC97rYaspj5RgTEtsOIYUi3X3w+DgIXPlpYTpdaJsPwwNWRJ9KOG/YfRkLhr8aDdYxymRLXG//Lkf5dXGLEivjlRc64hMEhqk5s+OnTSo4Tm7h1j7GKfaqURbe4m667W/sJdBbGOFOM1HDVq3AxDdr0PSR2lnN4ryjxzFj8hIxLHBtR26LwFyXTkf1aHygZyuRnYF9NCG31aB4EzP0WCXHJvMdHVH16srhfAnmp0qmEmorfozJ7p3g010tgtjrLJFlRfw1K+LdaM1RhNvo+YVlEGFkx6TsDXZ/tu1xEd+nkbDhPF4neHlE7cH9+xjBkqPYNVUgXyiK2K/3uaLo8d+IpnZS+S2pVx2E8bfuR9OPVbn0/dtL2731NxwWH2vuI4mQTisO3nHAbyjVDAQKgGTTTFYAQ2tXzipvyL+uS515Us8ncyhSXjb6SS73CKz7NBX0ch8k2fcQxbO+0kySlo7N6oaPlLizz/cAmgi05RO2kwnUpoOP8qSN/Uyaw3x3WuG8uonz56yxFImNzOfQNu06KHR2ZzfVUqSUD/F6z6T4UMsIgSRorumGAYEiKn5AGi3IG9BmenVPpiPK7R+r1Z7FcPhN43dyg3E/ioQLsNOnNnD8A8obNEwm3ArwVTdkI1JV6PgfkNLSSVdJFi3xr00FEmOpA7EkxYhyj7XASzV8Tyw2MczDot9+gR27bumsOPo7aZ4Ijwt5XNltqHM3oSCN0zWHCQLP1TIZdtf8khrZAUZ9GvuBzmxc3Ys8nFKfgP/+/nOhTohVz1EE S30lUSJX Px9r31h88BbfBTIyuA4HArODeo0si/4nSGXTR9aUgZWFxf0oLreDWiQHrZoPG5rJRsj/1QTm3bKkoq+4gP/Mdy75kHkNNm/HxjQ+V1K+Gh/vYYqDJqkZAy0KmQb2Ea/fT7TWzKl4dMyfXIYXuoeDGPX7AFG5FX7ngJyel+qfXLKkbipkuFrxUfUZA/7DkMJYqb+Yx/8hdD7Aqu2bADF8pHcM27bvuJshXyW2XFjhzytODzSrHD3kxrqcaPnx14PZCglc3IutJPUcSQ6dLgOD4XNR4+OXV26Y147jIu0OOW5UNqLltoPYvz4cwCs5keNM/advvEpD5rLRGWSd4+N2qv45nSA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000431, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi James, On Fri, 7 Mar 2025 at 01:53, James Houghton wrote: > > On Mon, Mar 3, 2025 at 9:10=E2=80=AFAM Fuad Tabba wrot= e: > > +static vm_fault_t kvm_gmem_fault(struct vm_fault *vmf) > > +{ > > + struct inode *inode =3D file_inode(vmf->vma->vm_file); > > + struct folio *folio; > > + vm_fault_t ret =3D VM_FAULT_LOCKED; > > + > > + filemap_invalidate_lock_shared(inode->i_mapping); > > + > > + folio =3D kvm_gmem_get_folio(inode, vmf->pgoff); > > + if (IS_ERR(folio)) { > > + switch (PTR_ERR(folio)) { > > + case -EAGAIN: > > + ret =3D VM_FAULT_RETRY; > > + break; > > + case -ENOMEM: > > + ret =3D VM_FAULT_OOM; > > + break; > > + default: > > + ret =3D VM_FAULT_SIGBUS; > > + break; > > Tiny nit-pick: This smells almost like an open-coded vmf_error(). For > the non-EAGAIN case, can we just call vmf_error()? I wasn't aware of that. I will fix this on the respin, thanks for pointing it out. That said, any idea why vmf_error() doesn't convert -EAGAIN to VM_FAULT_RET= RY? Cheers, /fuad > > + } > > + goto out_filemap; > > + } > > + > > + if (folio_test_hwpoison(folio)) { > > + ret =3D VM_FAULT_HWPOISON; > > + goto out_folio; > > + } > > + > > + /* Must be called with folio lock held, i.e., after kvm_gmem_ge= t_folio() */ > > + if (!kvm_gmem_offset_is_shared(vmf->vma->vm_file, vmf->pgoff)) = { > > + ret =3D VM_FAULT_SIGBUS; > > + goto out_folio; > > + }