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 315E1C71157 for ; Tue, 17 Jun 2025 18:58:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA2DD6B00AB; Tue, 17 Jun 2025 14:58:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A7AE16B00AC; Tue, 17 Jun 2025 14:58:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 91AFA6B00AF; Tue, 17 Jun 2025 14:58:04 -0400 (EDT) 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 7AC666B00AC for ; Tue, 17 Jun 2025 14:58:04 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 3AB691A0AA5 for ; Tue, 17 Jun 2025 18:58:04 +0000 (UTC) X-FDA: 83565802488.02.51DC8C7 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf09.hostedemail.com (Postfix) with ESMTP id CA22114000A for ; Tue, 17 Jun 2025 18:58:01 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZVKFtgJx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=5D1gAnpO; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZVKFtgJx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=5D1gAnpO; dmarc=none; spf=pass (imf09.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750186682; a=rsa-sha256; cv=none; b=utuLSoxSU9+qQTb562JwU4KaXk390ceRAH6X+GUYuhXJ6i5v5J2M/uEFUF/znzuXIQRz3l QauxXOhoKU/VPyw+GtzQoZe7EoXqcSXH51uUpKAm7GmIKXzBNgN3ybQ4Juc7JeQZ3IV4GV JXlVZPuVcm7XPL83YssbUMdOODin8xs= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZVKFtgJx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=5D1gAnpO; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ZVKFtgJx; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=5D1gAnpO; dmarc=none; spf=pass (imf09.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750186682; 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=RgNDel3KBIdFRD20NWYscLXk0kRO4T4FPA8qn3r4sXM=; b=E0QzsT6M7TqPvncbmD0Rxn2jfhdz2vcSMxvAkzRkmyLsbZjJOiafoUv5d/4r8Wg9D17sT8 eqRXm2SmL+5gUlqlNxiiiF0F4w3MGE8jKjpu13+LUef41vR7Y7tVJEHcd+cR3MGCMZt4nL MekbC3RE583YP5PtxWJCo4Fwu1+6d24= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 6E0161F79D; Tue, 17 Jun 2025 18:57:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1750186679; h=from:from:reply-to: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:autocrypt:autocrypt; bh=RgNDel3KBIdFRD20NWYscLXk0kRO4T4FPA8qn3r4sXM=; b=ZVKFtgJxgU6rST6x9dHOvq53H+ZPhdDkqsTMNZ7d/0yKJ+jcnU1S6R0rBWo8a7kKqVmKDR ENZeVprBsNGqAloTMjfmaopwBrFh1v3JFCTUXrAM3nsjylqULQ91szWdRb3GulZRtVMafj G1fZdguD9n3huUX618MPIWVd8mTvJbs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1750186679; h=from:from:reply-to: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:autocrypt:autocrypt; bh=RgNDel3KBIdFRD20NWYscLXk0kRO4T4FPA8qn3r4sXM=; b=5D1gAnpOzFQUDBJ63fx53UMHmj/Pinvy/HjB9v/V1oneL2XPt7iaxB1I7N+BFb4hFJ+WzO uMSoKL7nLRlBoMDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1750186679; h=from:from:reply-to: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:autocrypt:autocrypt; bh=RgNDel3KBIdFRD20NWYscLXk0kRO4T4FPA8qn3r4sXM=; b=ZVKFtgJxgU6rST6x9dHOvq53H+ZPhdDkqsTMNZ7d/0yKJ+jcnU1S6R0rBWo8a7kKqVmKDR ENZeVprBsNGqAloTMjfmaopwBrFh1v3JFCTUXrAM3nsjylqULQ91szWdRb3GulZRtVMafj G1fZdguD9n3huUX618MPIWVd8mTvJbs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1750186679; h=from:from:reply-to: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:autocrypt:autocrypt; bh=RgNDel3KBIdFRD20NWYscLXk0kRO4T4FPA8qn3r4sXM=; b=5D1gAnpOzFQUDBJ63fx53UMHmj/Pinvy/HjB9v/V1oneL2XPt7iaxB1I7N+BFb4hFJ+WzO uMSoKL7nLRlBoMDg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9AF47139E2; Tue, 17 Jun 2025 18:57:58 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id niR8Jba6UWjwOAAAD6G6ig (envelope-from ); Tue, 17 Jun 2025 18:57:58 +0000 Message-ID: Date: Tue, 17 Jun 2025 20:57:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 01/10] mm: rename call_mmap/mmap_prepare to vfs_mmap/mmap_prepare Content-Language: en-US To: Lorenzo Stoakes , Andrew Morton Cc: "Liam R . Howlett" , Jens Axboe , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Sterba , David Howells , Marc Dionne , Alexander Viro , Christian Brauner , Jan Kara , Benjamin LaHaise , Miklos Szeredi , Amir Goldstein , Kent Overstreet , "Tigran A . Aivazian" , Kees Cook , Chris Mason , Josef Bacik , Xiubo Li , Ilya Dryomov , Jan Harkes , coda@cs.cmu.edu, Tyler Hicks , Gao Xiang , Chao Yu , Yue Hu , Jeffle Xu , Sandeep Dhavale , Hongbo Li , Namjae Jeon , Sungjong Seo , Yuezhang Mo , Theodore Ts'o , Andreas Dilger , Jaegeuk Kim , OGAWA Hirofumi , Viacheslav Dubeyko , John Paul Adrian Glaubitz , Yangtao Li , Richard Weinberger , Anton Ivanov , Johannes Berg , Mikulas Patocka , David Woodhouse , Dave Kleikamp , Trond Myklebust , Anna Schumaker , Ryusuke Konishi , Konstantin Komarov , Mark Fasheh , Joel Becker , Joseph Qi , Bob Copeland , Mike Marshall , Martin Brandenburg , Steve French , Paulo Alcantara , Ronnie Sahlberg , Shyam Prasad N , Tom Talpey , Bharath SM , Zhihao Cheng , Hans de Goede , Carlos Maiolino , Damien Le Moal , Naohiro Aota , Johannes Thumshirn , Dan Williams , Matthew Wilcox , Jann Horn , Pedro Falcato , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, v9fs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-afs@lists.infradead.org, linux-aio@kvack.org, linux-unionfs@vger.kernel.org, linux-bcachefs@vger.kernel.org, linux-mm@kvack.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-um@lists.infradead.org, linux-mtd@lists.infradead.org, jfs-discussion@lists.sourceforge.net, linux-nfs@vger.kernel.org, linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev, linux-karma-devel@lists.sourceforge.net, devel@lists.orangefs.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-xfs@vger.kernel.org, nvdimm@lists.linux.dev References: <8d389f4994fa736aa8f9172bef8533c10a9e9011.1750099179.git.lorenzo.stoakes@oracle.com> From: Vlastimil Babka Autocrypt: addr=vbabka@suse.cz; keydata= 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 m6M14QORSWTLRg== In-Reply-To: <8d389f4994fa736aa8f9172bef8533c10a9e9011.1750099179.git.lorenzo.stoakes@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: xhbacg1pfaec1eka4hy9udbo7ubheqyp X-Rspamd-Queue-Id: CA22114000A X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1750186681-85400 X-HE-Meta: U2FsdGVkX18fu1ewEUwPoN0NMFCO7bLxHNeboAXz+oplHAK0tt54C/48oqXD7DiHctSNXbDI2RtnmAc/bcOUCfSseoEPlzf6Q9aR1pihyC1Ms8enP/ohIPMbAB02cwZJkP44uTV5eLrxDjlwaAyG/sxEouJm2sN2C7oN4J/0cF53jtZrpY26lbJKOH0fYPCAFKRiIvSIvIPORcVAAdkfvEgIKe4PfS2jqccL8ZOGvmjv5QurhO5tmnwEQKYKOwLYWCoSQOrsdOq7Sfb+ErtINwS7K6sMk+FwOJ8q2cEvmp9bNXqmipotb+WEqDy8HcZT4fZFHA5o+xHtOlOi2nF+QUDgT3vhWmqCv7Qo9WtZ39syWtOMniXixvmyNtmTrlqZ0m3SWBkNmhy3IWroDPEfx5d7esT70DoDCvwey7zJyksfxyIWc3R7wWCiw2GdYZ1w8C1LOvJnUvyr9wCv1IVAc+D6q4SZdVijG/i3tlloiREk8cI7wmgxRvR+bTeRyzNu8iOHPRwsa3Oe51xnvIxqk9TCNAiv84txfXznDdD/0r1NMJ4A9KFB+D6zcQOehZP7/raqKKnI0mItHZerUXGt4dlcytdHWR5lYi9iE8pYNByeG0dLRUfqpor3dQQ3NWlTZlV9aSa5CS0V+D7U+YP/RO8E5fCGobAsTvOIdd9h9qjZKfUYL73rt/vId/RfjgQuY5J3SmwomIaKP+6RkqBCxI6ft5Z663CTp5cwfPmVyQOaMSyjIaRCah9npy3D/JHILohMSeKfbUdYbgLofxj/rwi5iTk8sU/CLLKnhw0B4gXIp6LP58URd4nOUa+GqQ+9gwlQuG70DbtMk8bcR8JEDa5t1ILK7FqEosGWLJbM/zsJiprss0jlgr+I3reMTNgtC35GU5UnRw5J6U3ViBmEN49mxVgzEVOxRlUq9dsuc1ly+k0SfzWdcL2e3VmnzOElnZ661VoCrK5FuYd5xjx PHcLR2l0 zLV4zgFeqsshW1XGveOOzbshtRiLN3GYmlKiiFMmHWt/hU5yNWtQy7W/T1daZnM7vNenEwWt6Cc5+PLOk66UHMgRJdYMxHOhJG5bRJvNu9y1rkjr4YaN9K4n0X5np706rT+PQ5rQwglPrUuAaXH1laDcsdQFpFHSbnTTStF4oAHc8fbPvlDjBmO9MFZhVVs3a/pX4DjgV34BQR+05FmC71zS0KHrPuJfJGR3Em+AyRlyn7ch9qwh3WpGjx+0f0CP/rRbU8tVEyuee/tXm7Ikcp9tAAqCaMF1Udc6T0ryHTCC6HFBTZQ1sQsfNjLDuYU4hrTGdKXKwU2oRlqGhLeAMa9vYD/nn2wjqyPm+UW3iL7aP+orv10ZpynuL6oR359DcZL/FUYVfjG2gDWv5QxsjNQNhy1uNnvUo6UVDpCR3zRfnbvQ= 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 6/16/25 21:33, Lorenzo Stoakes wrote: > The call_mmap() function violates the existing convention in > include/linux/fs.h whereby invocations of virtual file system hooks is > performed by functions prefixed with vfs_xxx(). > > Correct this by renaming call_mmap() to vfs_mmap(). This also avoids > confusion as to the fact that f_op->mmap_prepare may be invoked here. > > Also rename __call_mmap_prepare() function to vfs_mmap_prepare() and adjust > to accept a file parameter, this is useful later for nested file systems. > > Finally, fix up the VMA userland tests and ensure the mmap_prepare -> mmap > shim is implemented there. > > Signed-off-by: Lorenzo Stoakes Acked-by: Vlastimil Babka > --- > drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 2 +- > fs/backing-file.c | 2 +- > fs/coda/file.c | 4 +-- > include/linux/fs.h | 5 ++-- > ipc/shm.c | 2 +- > mm/internal.h | 2 +- > mm/vma.c | 2 +- > tools/testing/vma/vma_internal.h | 32 ++++++++++++++++++---- > 8 files changed, 35 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c > index 05e440643aa2..f4f1c979d1b9 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c > @@ -105,7 +105,7 @@ static int i915_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct * > if (!obj->base.filp) > return -ENODEV; > > - ret = call_mmap(obj->base.filp, vma); > + ret = vfs_mmap(obj->base.filp, vma); > if (ret) > return ret; > > diff --git a/fs/backing-file.c b/fs/backing-file.c > index 763fbe9b72b2..04018679bf69 100644 > --- a/fs/backing-file.c > +++ b/fs/backing-file.c > @@ -339,7 +339,7 @@ int backing_file_mmap(struct file *file, struct vm_area_struct *vma, > vma_set_file(vma, file); > > old_cred = override_creds(ctx->cred); > - ret = call_mmap(vma->vm_file, vma); > + ret = vfs_mmap(vma->vm_file, vma); > revert_creds(old_cred); > > if (ctx->accessed) > diff --git a/fs/coda/file.c b/fs/coda/file.c > index 148856a582a9..2e6ea9319b35 100644 > --- a/fs/coda/file.c > +++ b/fs/coda/file.c > @@ -199,10 +199,10 @@ coda_file_mmap(struct file *coda_file, struct vm_area_struct *vma) > spin_unlock(&cii->c_lock); > > vma->vm_file = get_file(host_file); > - ret = call_mmap(vma->vm_file, vma); > + ret = vfs_mmap(vma->vm_file, vma); > > if (ret) { > - /* if call_mmap fails, our caller will put host_file so we > + /* if vfs_mmap fails, our caller will put host_file so we > * should drop the reference to the coda_file that we got. > */ > fput(coda_file); > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 93ee0d2d6f1a..7120f80255b3 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -2278,7 +2278,7 @@ static inline bool file_has_valid_mmap_hooks(struct file *file) > > int compat_vma_mmap_prepare(struct file *file, struct vm_area_struct *vma); > > -static inline int call_mmap(struct file *file, struct vm_area_struct *vma) > +static inline int vfs_mmap(struct file *file, struct vm_area_struct *vma) > { > if (file->f_op->mmap_prepare) > return compat_vma_mmap_prepare(file, vma); > @@ -2286,8 +2286,7 @@ static inline int call_mmap(struct file *file, struct vm_area_struct *vma) > return file->f_op->mmap(file, vma); > } > > -static inline int __call_mmap_prepare(struct file *file, > - struct vm_area_desc *desc) > +static inline int vfs_mmap_prepare(struct file *file, struct vm_area_desc *desc) > { > return file->f_op->mmap_prepare(desc); > } > diff --git a/ipc/shm.c b/ipc/shm.c > index 492fcc699985..a9310b6dbbc3 100644 > --- a/ipc/shm.c > +++ b/ipc/shm.c > @@ -602,7 +602,7 @@ static int shm_mmap(struct file *file, struct vm_area_struct *vma) > if (ret) > return ret; > > - ret = call_mmap(sfd->file, vma); > + ret = vfs_mmap(sfd->file, vma); > if (ret) { > __shm_close(sfd); > return ret; > diff --git a/mm/internal.h b/mm/internal.h > index 3823fb356d3b..a55c88afff6d 100644 > --- a/mm/internal.h > +++ b/mm/internal.h > @@ -165,7 +165,7 @@ static inline void *folio_raw_mapping(const struct folio *folio) > */ > static inline int mmap_file(struct file *file, struct vm_area_struct *vma) > { > - int err = call_mmap(file, vma); > + int err = vfs_mmap(file, vma); > > if (likely(!err)) > return 0; > diff --git a/mm/vma.c b/mm/vma.c > index 5d35adadf2b5..f548bede3bbe 100644 > --- a/mm/vma.c > +++ b/mm/vma.c > @@ -2582,7 +2582,7 @@ static int call_mmap_prepare(struct mmap_state *map) > }; > > /* Invoke the hook. */ > - err = __call_mmap_prepare(map->file, &desc); > + err = vfs_mmap_prepare(map->file, &desc); > if (err) > return err; > > diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_internal.h > index d7fea56e3bb3..51dd122b8d50 100644 > --- a/tools/testing/vma/vma_internal.h > +++ b/tools/testing/vma/vma_internal.h > @@ -1458,6 +1458,27 @@ static inline void free_anon_vma_name(struct vm_area_struct *vma) > (void)vma; > } > > +/* Declared in vma.h. */ > +static inline void set_vma_from_desc(struct vm_area_struct *vma, > + struct vm_area_desc *desc); > + > +static inline struct vm_area_desc *vma_to_desc(struct vm_area_struct *vma, > + struct vm_area_desc *desc); > + > +static int compat_vma_mmap_prepare(struct file *file, > + struct vm_area_struct *vma) > +{ > + struct vm_area_desc desc; > + int err; > + > + err = file->f_op->mmap_prepare(vma_to_desc(vma, &desc)); > + if (err) > + return err; > + set_vma_from_desc(vma, &desc); > + > + return 0; > +} > + > /* Did the driver provide valid mmap hook configuration? */ > static inline bool file_has_valid_mmap_hooks(struct file *file) > { > @@ -1467,22 +1488,21 @@ static inline bool file_has_valid_mmap_hooks(struct file *file) > /* Hooks are mutually exclusive. */ > if (WARN_ON_ONCE(has_mmap && has_mmap_prepare)) > return false; > - if (WARN_ON_ONCE(!has_mmap && !has_mmap_prepare)) > + if (!has_mmap && !has_mmap_prepare) > return false; > > return true; > } > > -static inline int call_mmap(struct file *file, struct vm_area_struct *vma) > +static inline int vfs_mmap(struct file *file, struct vm_area_struct *vma) > { > - if (WARN_ON_ONCE(file->f_op->mmap_prepare)) > - return -EINVAL; > + if (file->f_op->mmap_prepare) > + return compat_vma_mmap_prepare(file, vma); > > return file->f_op->mmap(file, vma); > } > > -static inline int __call_mmap_prepare(struct file *file, > - struct vm_area_desc *desc) > +static inline int vfs_mmap_prepare(struct file *file, struct vm_area_desc *desc) > { > return file->f_op->mmap_prepare(desc); > }