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 768D1C2BD09 for ; Fri, 12 Jul 2024 22:32:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A9D46B0089; Fri, 12 Jul 2024 18:32:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 85A0E6B008A; Fri, 12 Jul 2024 18:32:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6FBB16B008C; Fri, 12 Jul 2024 18:32:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4FD466B0089 for ; Fri, 12 Jul 2024 18:32:33 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 9B9501C1F87 for ; Fri, 12 Jul 2024 22:32:32 +0000 (UTC) X-FDA: 82332550944.23.0B3E8E3 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf23.hostedemail.com (Postfix) with ESMTP id 4CAA7140008 for ; Fri, 12 Jul 2024 22:32:27 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Uih6pPFi; spf=pass (imf23.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720823531; a=rsa-sha256; cv=none; b=ZzctCWKlwFowHYbnpxkb91ZfmYSoAofahLaSytfGMo2GLp5GM32pk67rLq0xjAaKc65tkv G56kCo/dtZcDQ3cVFGXscupbthmYadqao5o8e0E+389LMuQPYkLopPoO2RRQjK5XppDF4/ uYZ6Q5dXVDq5tiAniOF4IBXIWmbXoMI= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Uih6pPFi; spf=pass (imf23.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720823531; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=K69xpC47dTjWZZ3W+eGDy8emVsAJtvpIplRzVcTHmyg=; b=nJqA0IwmC+ECxKyPgKUSu+oD3hWP3entAJ6HgOj67neeiIG4gjHfIWdQEN+reVY/ffTpeM 69VZPG2y4MhdNTxN/8s+fXGLl1ngv2qAHDmAex5RAddbLKkvXbwvuJP0REPQ58qRkyeLSn 8xijGfFzjAOYZMuQLbBuWqdq9GdPlH4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id DB915CE1B59; Fri, 12 Jul 2024 22:32:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 982EDC32782; Fri, 12 Jul 2024 22:32:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1720823543; bh=Sb9um4v6rFADbPuFfpnL5WI5TuACgL+7jpgXo5oNcXU=; h=Date:From:To:Subject:In-Reply-To:References:From; b=Uih6pPFiUkJDfccq0Q8NyMpzls0+QOKHTw6wxNJgTac8i/Ec+l85Gew9XW7IOfM3e TPJ2j1hYTNWj+oqMJZDcUkqfSKg7BwRWSf1Ng47d0KAGUStuj/mOrKigJPS2JOWmTi BskptDKHQE9N/DoZu3oYYTZPg2mc5LWBtC5GBpkk= Date: Fri, 12 Jul 2024 15:32:22 -0700 From: Andrew Morton To: "Kasireddy, Vivek" , SeongJae Park , "dri-devel@lists.freedesktop.org" , "linux-mm@kvack.org" , David Hildenbrand , Matthew Wilcox , Christoph Hellwig , Daniel Vetter , Hugh Dickins , Peter Xu , Gerd Hoffmann , "Kim, Dongwon" , "Chang, Junxiao" , Jason Gunthorpe , "Christoph Hellwig" , Dave Airlie Subject: Re: [PATCH v16 3/9] mm/gup: Introduce memfd_pin_folios() for pinning memfd folios Message-Id: <20240712153222.dfc15d0c3604eedb76e0ae52@linux-foundation.org> In-Reply-To: <20240705155523.2f098948237715f8a0ffa56c@linux-foundation.org> References: <20240624063952.1572359-4-vivek.kasireddy@intel.com> <20240705204825.109189-1-sj@kernel.org> <20240705142320.000b1e520b856b7c034bc829@linux-foundation.org> <20240705155523.2f098948237715f8a0ffa56c@linux-foundation.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Stat-Signature: pa8irxbf7xci4sxu86anhuk45xeyh8mu X-Rspamd-Queue-Id: 4CAA7140008 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1720823547-548456 X-HE-Meta: U2FsdGVkX1+RT6zUP1VQ2bNDz7O5OYC7hv6B6w7RLmf9y9/10HMcBsswiewDUy7h2n5MZwbJN55Lx3nWPxMOIKDUeY1JXt6nja7xAwJBIOZgHYw2co3jPCJuyVFCJ1WCzbgRK11E77oL2/Ur5XNoF0/LcKhByHNcQwmmbj+M1qQIXzVOEwuAsEM73PoYazZv+6ohcTzQSjTdqoErnfyIyFA8RBWAjc+70IGfhiNuSR3LPOBPeooOo3/6mG3R37v+LDuc7ntW6h6j3/rcXwYKGghd1G248T43x1Eqe72bW3aShi9UTKToz5t677aNgkZGg3KloR6wQ8onDpN8cLaB3BUL1l4gIxHXfyvL+vqoQWGHaCsgfZ1hws8aV9ITXzxlcrY9h3h3KqGjoSj5h2xLOI9D26FsNpEJq7OiAx52H3SYLxIKQmRfUjfeN8AVdQLy2PW8Y0EjaU8YehA0tpIWUN8nE3PqUeX6iN+VdZnnLvlX0vgMETltXj/N+UoLDWDvdCCFfQ35qkbdW+DYMF7gbQnVM0FxUN41S4uqE+Xzt6BrE8nfRfPYED4HNzo9rK7e2OxbApbHtdD41Dz4AJP2mbKhQSA0mt6H3gjgQpjFk6pQSXbesALX7WBcfvKMcFVQFVQGH03lzdZtFYFZ+QND7Nmq3xqBT3b6w8MXHT1Dsi92pBacYXiKmrjwdd7TlJzHk01OZcP+qVmCAzmy9pG6EOLE9mk8OKfJ5H/GtDVJErbVvkNMrmhM3zWFg1zQF6nfo0UoSFq1X70wh4EqCc/GJs8zaGKswJr6/W027nowl342Hs84106Hkka5U2XRo738iQ8ChpsVHYyST/3xeRd6XTwJiHdCRiJz5tRoxWI17mrh0tahar7f5u+WBBRcqkJVpiOJeokTALxTc/mk5DkvMRqZmBfLx5D5mUM5k2/D3o1UcM3AWxSIW35PjdDh79SyCzBKkgQiRerwHYxbq63 Kl6JRkkg 2evDQThv9xVTyypxsuog635wxTHpK6d2aQ9i7SpZ85LG25OVz4LMxqTiW/qfPddtXjkFSNYO1scZgw1B2o5C9mwDFBs8WeJO35ZVUdzvKCdWUnXSq9cBXPpfvD7hgVH9UrYwpThUKnqi10UNoBh9cHvp2hWUDgS73142gdXKTvToWGROWe8M3qnpWJsH/Kfplwb4wzs0MKlAgyVq8eW+f7LZRgt91LfzHm+pdBnsDoDRcXdE9qo9lhF/4+QtmlIWB3F0J3Tyi0ZaUa2tRR5dUYvX1FdN9Eh2EQtnPuP4jLbT7DNhUAWxZntvL/foRvwPNUBmFCg/SmHpskDQf6r+8jN5hFQrAh7Xd6YckGSRsc0+nX0aAeEixZSt+vthWQHccE/YW+OqeZzcuXQE= 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, 5 Jul 2024 15:55:23 -0700 Andrew Morton wrote: > On Fri, 5 Jul 2024 22:11:14 +0000 "Kasireddy, Vivek" wrote: > > > Hi Andrew and SJ, > > > > > > > > > > > > > I didn't look deep into the patch, so unsure if that's a valid fix, though. > > > > May I ask your thoughts? > > > > > > Perhaps we should propagate the errno which was returned by > > > try_grab_folio()? > > > > > > I'll do it this way. Vivek, please check and let us know? > > Yeah, memfd_pin_folios() doesn't need the fast version, so replacing with > > the slow version (try_grab_folio) should be fine. And, as you suggest, > > propagating the errno returned by try_grab_folio() would be the right thing > > to do instead of explicitly setting errno to -EINVAL. Either way, this change is > > Acked-by: Vivek Kasireddy > > Cool, thanks. > > We could do this to propagate the try_grab_folio() return value: > > --- a/mm/gup.c~mm-gup-introduce-memfd_pin_folios-for-pinning-memfd-folios-fix-fix > +++ a/mm/gup.c > @@ -3848,6 +3848,8 @@ long memfd_pin_folios(struct file *memfd > > next_idx = 0; > for (i = 0; i < nr_found; i++) { > + int ret2; > + > /* > * As there can be multiple entries for a > * given folio in the batch returned by > @@ -3860,10 +3862,10 @@ long memfd_pin_folios(struct file *memfd > continue; > > folio = page_folio(&fbatch.folios[i]->page); > - > - if (try_grab_folio(folio, 1, FOLL_PIN)) { > + ret2 = try_grab_folio(folio, 1, FOLL_PIN); > + if (ret2) { > folio_batch_release(&fbatch); > - ret = -EINVAL; > + ret = ret2; > goto err; > } > > > But try_grab_folio can return that weird -EREMOTEIO. The > try_grab_folio() kerneldoc doesn't even mention that - it incorrectly > claims that only -ENOMEM can be returned. (needs fixing!). > > And if memfd_pin_folios() returns -EREMOTEIO then I expect > udmabuf_ioctl() will return -EREMOTEIO to userspace. And userspace > will wonder "what the hell is that". If there's a udmabuf_ioctl > manpage then will that explain this errno? And similar concerns for > future callers of memfd_pin_folios(). -ENOREPLY. I'll drop the above fixup.