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 1DF63C38150 for ; Fri, 5 Jul 2024 22:55:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71F976B0095; Fri, 5 Jul 2024 18:55:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6D0106B0096; Fri, 5 Jul 2024 18:55:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5974F6B0098; Fri, 5 Jul 2024 18:55:28 -0400 (EDT) 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 3D0356B0095 for ; Fri, 5 Jul 2024 18:55:28 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B2CD040127 for ; Fri, 5 Jul 2024 22:55:27 +0000 (UTC) X-FDA: 82307207094.08.9FF789A Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id B1EE140005 for ; Fri, 5 Jul 2024 22:55:25 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="dJmr/DDw"; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 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=1720220113; 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=LDaBetn3RSQP396sjIfQZRbNKvUo6UeTiHLN6G2P9eo=; b=Y7dzzDh1HCtT4RYNukOSNXOc/bmWdZtfN7os03OmFryuStGgHJpj8gvId2OhGfb8UF5Meb G9v/n4IsTDp0OeICm97Msrz6olGo6Qz0ChAHaoojBR6jR4e66dTsDmhonkJSmKFlcW5EvR uVEILXeQ8PhJXTIcvT7OirX+6/W0vik= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="dJmr/DDw"; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720220113; a=rsa-sha256; cv=none; b=F3YSI5ziTOlQoNrqrRfI4Id/SnvpKapC9Bng1nN3vCPZOE5hHYp9VOmtzQ9pZGAOJq22iy oJ+h8Af74RMAmpkAPqxeN82iP1FADDWvG7S7XlW0u0yiJOAIGuCWWJWyElrAQ9I0kMeSRa /CN0oQahVkf4C0b4PuIs6l/yMFKtM5A= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 8185962C9A; Fri, 5 Jul 2024 22:55:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ABD90C116B1; Fri, 5 Jul 2024 22:55:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1720220124; bh=U979f+Tfwka69RciLAAdirjab/emcVZLYO2LqqusTYk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=dJmr/DDwu/SuLSTOdbfYeMwqHMcYBiaOD9/VCJ+Y8G7N8+CXgCqMx/qweZ+Eu5saW 2+DMD8eI0+A8i8zIAQYaGdRIgzvSP8i946vAa/NE0A3JYPQ2kU8PCyhFEGyYUGbxFr VKk4y5aIVi2VBSRM1LhnY5erogMfjl8szyHwODsQ= Date: Fri, 5 Jul 2024 15:55:23 -0700 From: Andrew Morton To: "Kasireddy, Vivek" Cc: 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: <20240705155523.2f098948237715f8a0ffa56c@linux-foundation.org> In-Reply-To: References: <20240624063952.1572359-4-vivek.kasireddy@intel.com> <20240705204825.109189-1-sj@kernel.org> <20240705142320.000b1e520b856b7c034bc829@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-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: B1EE140005 X-Stat-Signature: mj4q9kh3i71o5b65xierbusx4f9cqp59 X-HE-Tag: 1720220125-845768 X-HE-Meta: U2FsdGVkX1/kCFfrhtXkWSHnf3j+oO8jBmP+x7f/4duzcjrj37Xdpak9TiKT27hxCNbPNrrP0OxrKT4gdzswDX9LMjlAX+K0V7VM8nRkd5ozZmslnASwefMXaxth8W8sbPOh7Enu1Fuz6LyFiUG5x1w6xdflk8gxV8ZsxsXoC7DWKNighIAUJ6g5JwvvWtuaCoEPurD0G4x8hIFLjg/dQ3hAdfcrPvuBIZgkRkhoWSE2Zrw7g+ShngsP08dG0wMTPxgBcVabglbFUamOEuHmHvXHcO+t9L+AsxM05L0BWUuZvc06wU5aj9P/VXUgMfS6wPwfM3ej6uEgDUz9rDWFRVBTmXdGBrWFXpavUNcrNwqQYJbgT6iTlFLsHHjiqih/47yOA0eeNviPdl3hUy8R/6uSguqWifIGETdQs76t0WzB5k+KSWtlv+O044nOA3SI4TVPJrYeuSM13Cp/E0SP22Dxd4Jl7j62fDODXdSMB7dZjQIA91RxgIfx9SZG1JYFM7rPTbuclmqwAeNXu3BQXJETgnpEowqPz3WJPdapQIvfHcFz6rTiKxGhJyskkBK7fdQxr4raN6or+6PCLb/VjV7xwehnszjiockisyWNOWABTp/P8/+XZRpUL+r+NSkoWOUJDzyIWuW/ijne4marpwke1naWyztXodeD9J6jsG3CsTaPtj7cNucvmi8CH+2QDWyuhkO7nIzUX/mpBANCIpS0KMM/XKn8r0BTmT0TMOhkfgU4M0Aky9jCvO5E19Az0D+KqKnS40ak1LFsHHLMNdNb7utiKyLWjO0SPWaKBi5HteVg+W5PkcJyYUhAupzGwkQHbxCH599pm3VuQYuyhbAJ8rMbjeDyTVITg0cPbyhnTqgr925E19HGbs3Ln501R+MGtsaPEiScm+VvStRLdV+K9sodFQ7vCMKZdBcCu9fvV68YSSLfA0HX/+HvJru+rKZxSNWejQnIlUY/oAq A/hLGDpK UvMbjebs1ug6JI3QjCvmWuP48y1JmZZR96y+98w3qV/8KwbxzFEOb2oC0QLckCeuE/VgMprdp9iW9ywq7nGOvuuAS1Wfs2v/qvSoXz9qR0vvE4mm3qBug/eXDJRbaesQ/IWjn1IYFXlra/BwgRklKt7xQx8OzWQzqsvDuPlvYrNWZwrXWe/tUQabbPe8hXjMx2o2bSGozSKLH05xUGF8U1rfWB5Cq+qHp5PsBkVmswHQQ2VrgysWuNCnbj9PpCp2L7mSXLSKhBR37kgEjDltgEgDgSJJ+EXGyyXIUBcPgba/sPlflvpS3krYPxmB8PA7idfK73jp1A2jeEXDnvbm9oy7rqw== 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 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().