lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bbd4300abcd1ba128e593779a87a8c6133dfbfc4.camel@ibm.com>
Date: Mon, 16 Jun 2025 23:26:40 +0000
From: Viacheslav Dubeyko <Slava.Dubeyko@....com>
To: "lorenzo.stoakes@...cle.com" <lorenzo.stoakes@...cle.com>,
        "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>
CC: "xiang@...nel.org" <xiang@...nel.org>,
        "codalist@...a.cs.cmu.edu"
	<codalist@...a.cs.cmu.edu>,
        "dri-devel@...ts.freedesktop.org"
	<dri-devel@...ts.freedesktop.org>,
        "anna@...nel.org" <anna@...nel.org>, "vbabka@...e.cz" <vbabka@...e.cz>,
        "pfalcato@...e.de" <pfalcato@...e.de>, "jack@...e.cz" <jack@...e.cz>,
        "linux-xfs@...r.kernel.org"
	<linux-xfs@...r.kernel.org>,
        "v9fs@...ts.linux.dev" <v9fs@...ts.linux.dev>,
        "glaubitz@...sik.fu-berlin.de" <glaubitz@...sik.fu-berlin.de>,
        "miklos@...redi.hu" <miklos@...redi.hu>,
        "linux-unionfs@...r.kernel.org"
	<linux-unionfs@...r.kernel.org>,
        "amir73il@...il.com" <amir73il@...il.com>,
        "slava@...eyko.com" <slava@...eyko.com>,
        Hans De Goede <hdegoede@...hat.com>,
        "asmadeus@...ewreck.org" <asmadeus@...ewreck.org>,
        "simona@...ll.ch"
	<simona@...ll.ch>,
        "jth@...nel.org" <jth@...nel.org>,
        "shaggy@...nel.org"
	<shaggy@...nel.org>,
        "willy@...radead.org" <willy@...radead.org>,
        "linux-erofs@...ts.ozlabs.org" <linux-erofs@...ts.ozlabs.org>,
        "jaharkes@...cmu.edu" <jaharkes@...cmu.edu>,
        "tursulin@...ulin.net"
	<tursulin@...ulin.net>,
        "trondmy@...nel.org" <trondmy@...nel.org>,
        "ecryptfs@...r.kernel.org" <ecryptfs@...r.kernel.org>,
        "ericvh@...nel.org"
	<ericvh@...nel.org>,
        "joonas.lahtinen@...ux.intel.com"
	<joonas.lahtinen@...ux.intel.com>,
        "hirofumi@...l.parknet.co.jp"
	<hirofumi@...l.parknet.co.jp>,
        "linux-nilfs@...r.kernel.org"
	<linux-nilfs@...r.kernel.org>,
        Xiubo Li <xiubli@...hat.com>,
        "aivazian.tigran@...il.com" <aivazian.tigran@...il.com>,
        "hubcap@...ibond.com" <hubcap@...ibond.com>,
        "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>,
        "intel-gfx@...ts.freedesktop.org"
	<intel-gfx@...ts.freedesktop.org>,
        "sfrench@...ba.org" <sfrench@...ba.org>,
        "jfs-discussion@...ts.sourceforge.net"
	<jfs-discussion@...ts.sourceforge.net>,
        "clm@...com" <clm@...com>, "jlbec@...lplan.org" <jlbec@...lplan.org>,
        "lihongbo22@...wei.com"
	<lihongbo22@...wei.com>,
        "ronniesahlberg@...il.com"
	<ronniesahlberg@...il.com>,
        "lucho@...kov.net" <lucho@...kov.net>,
        "anton.ivanov@...bridgegreys.com" <anton.ivanov@...bridgegreys.com>,
        "dan.j.williams@...el.com" <dan.j.williams@...el.com>,
        "Liam.Howlett@...cle.com" <Liam.Howlett@...cle.com>,
        "sj1557.seo@...sung.com"
	<sj1557.seo@...sung.com>,
        "josef@...icpanda.com" <josef@...icpanda.com>,
        "linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
        "cem@...nel.org"
	<cem@...nel.org>,
        "linkinjeon@...nel.org" <linkinjeon@...nel.org>,
        "tom@...pey.com" <tom@...pey.com>,
        "mikulas@...ax.karlin.mff.cuni.cz"
	<mikulas@...ax.karlin.mff.cuni.cz>,
        "bcrl@...ck.org" <bcrl@...ck.org>,
        "linux-afs@...ts.infradead.org" <linux-afs@...ts.infradead.org>,
        "mark@...heh.com" <mark@...heh.com>,
        "linux-mtd@...ts.infradead.org"
	<linux-mtd@...ts.infradead.org>,
        "linux-nfs@...r.kernel.org"
	<linux-nfs@...r.kernel.org>,
        "bharathsm@...rosoft.com"
	<bharathsm@...rosoft.com>,
        "linux-ext4@...r.kernel.org"
	<linux-ext4@...r.kernel.org>,
        "linux-f2fs-devel@...ts.sourceforge.net"
	<linux-f2fs-devel@...ts.sourceforge.net>,
        "tytso@....edu" <tytso@....edu>,
        "martin@...ibond.com" <martin@...ibond.com>,
        "jefflexu@...ux.alibaba.com"
	<jefflexu@...ux.alibaba.com>,
        "naohiro.aota@....com" <naohiro.aota@....com>,
        "frank.li@...o.com" <frank.li@...o.com>,
        "nvdimm@...ts.linux.dev"
	<nvdimm@...ts.linux.dev>,
        "dsterba@...e.com" <dsterba@...e.com>,
        "pc@...guebit.org" <pc@...guebit.org>,
        "dwmw2@...radead.org"
	<dwmw2@...radead.org>,
        "code@...icks.com" <code@...icks.com>,
        "ocfs2-devel@...ts.linux.dev" <ocfs2-devel@...ts.linux.dev>,
        "linux-aio@...ck.org" <linux-aio@...ck.org>,
        "idryomov@...il.com"
	<idryomov@...il.com>,
        "dlemoal@...nel.org" <dlemoal@...nel.org>,
        "linux-btrfs@...r.kernel.org" <linux-btrfs@...r.kernel.org>,
        "viro@...iv.linux.org.uk" <viro@...iv.linux.org.uk>,
        "zbestahu@...il.com"
	<zbestahu@...il.com>,
        "linux-cifs@...r.kernel.org"
	<linux-cifs@...r.kernel.org>,
        "johannes@...solutions.net"
	<johannes@...solutions.net>,
        David Howells <dhowells@...hat.com>,
        "linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
        "ntfs3@...ts.linux.dev" <ntfs3@...ts.linux.dev>,
        "richard@....at"
	<richard@....at>,
        "yuezhang.mo@...y.com" <yuezhang.mo@...y.com>,
        "joseph.qi@...ux.alibaba.com" <joseph.qi@...ux.alibaba.com>,
        "axboe@...nel.dk" <axboe@...nel.dk>,
        "linux-karma-devel@...ts.sourceforge.net"
	<linux-karma-devel@...ts.sourceforge.net>,
        "kent.overstreet@...ux.dev"
	<kent.overstreet@...ux.dev>,
        "ceph-devel@...r.kernel.org"
	<ceph-devel@...r.kernel.org>,
        "samba-technical@...ts.samba.org"
	<samba-technical@...ts.samba.org>,
        "dhavale@...gle.com" <dhavale@...gle.com>,
        "devel@...ts.orangefs.org" <devel@...ts.orangefs.org>,
        "konishi.ryusuke@...il.com" <konishi.ryusuke@...il.com>,
        "linux_oss@...debyte.com" <linux_oss@...debyte.com>,
        "jaegeuk@...nel.org"
	<jaegeuk@...nel.org>,
        "sprasad@...rosoft.com" <sprasad@...rosoft.com>,
        "linux-um@...ts.infradead.org" <linux-um@...ts.infradead.org>,
        "jani.nikula@...ux.intel.com" <jani.nikula@...ux.intel.com>,
        "brauner@...nel.org" <brauner@...nel.org>,
        "rodrigo.vivi@...el.com"
	<rodrigo.vivi@...el.com>,
        "adilger.kernel@...ger.ca"
	<adilger.kernel@...ger.ca>,
        "airlied@...il.com" <airlied@...il.com>,
        "chao@...nel.org" <chao@...nel.org>,
        "coda@...cmu.edu" <coda@...cmu.edu>,
        "jannh@...gle.com" <jannh@...gle.com>,
        "kees@...nel.org" <kees@...nel.org>,
        "me@...copeland.com" <me@...copeland.com>,
        "chengzhihao1@...wei.com"
	<chengzhihao1@...wei.com>,
        "linux-bcachefs@...r.kernel.org"
	<linux-bcachefs@...r.kernel.org>,
        "marc.dionne@...istor.com"
	<marc.dionne@...istor.com>,
        "almaz.alexandrovich@...agon-software.com"
	<almaz.alexandrovich@...agon-software.com>,
        "linux-mm@...ck.org"
	<linux-mm@...ck.org>
Subject: Re:  [PATCH 08/10] fs: convert simple use of generic_file_*_mmap() to
 .mmap_prepare()

On Mon, 2025-06-16 at 20:33 +0100, Lorenzo Stoakes wrote:
> Since commit c84bf6dd2b83 ("mm: introduce new .mmap_prepare() file
> callback"), the f_op->mmap() hook has been deprecated in favour of
> f_op->mmap_prepare().
> 
> We have provided generic .mmap_prepare() equivalents, so update all file
> systems that specify these directly in their file_operations structures.
> 
> This updates 9p, adfs, affs, bfs, fat, hfs, hfsplus, hostfs, hpfs, jffs2,
> jfs, minix, omfs, ramfs and ufs file systems directly.
> 
> It updates generic_ro_fops which impacts qnx4, cramfs, befs, squashfs,
> frebxfs, qnx6, efs, romfs, erofs and isofs file systems.
> 
> There are remaining file systems which use generic hooks in a less direct
> way which we address in a subsequent commit.
> 
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
> ---
>  fs/9p/vfs_file.c        | 2 +-
>  fs/adfs/file.c          | 2 +-
>  fs/affs/file.c          | 2 +-
>  fs/bfs/file.c           | 2 +-
>  fs/fat/file.c           | 2 +-
>  fs/hfs/inode.c          | 2 +-
>  fs/hfsplus/inode.c      | 2 +-
>  fs/hostfs/hostfs_kern.c | 2 +-
>  fs/hpfs/file.c          | 2 +-
>  fs/jffs2/file.c         | 2 +-
>  fs/jfs/file.c           | 2 +-
>  fs/minix/file.c         | 2 +-
>  fs/omfs/file.c          | 2 +-
>  fs/ramfs/file-mmu.c     | 2 +-
>  fs/read_write.c         | 2 +-
>  fs/ufs/file.c           | 2 +-
>  16 files changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
> index 348cc90bf9c5..2ff3e0ac7266 100644
> --- a/fs/9p/vfs_file.c
> +++ b/fs/9p/vfs_file.c
> @@ -516,7 +516,7 @@ const struct file_operations v9fs_file_operations = {
>  	.open = v9fs_file_open,
>  	.release = v9fs_dir_release,
>  	.lock = v9fs_file_lock,
> -	.mmap = generic_file_readonly_mmap,
> +	.mmap_prepare = generic_file_readonly_mmap_prepare,
>  	.splice_read = v9fs_file_splice_read,
>  	.splice_write = iter_file_splice_write,
>  	.fsync = v9fs_file_fsync,
> diff --git a/fs/adfs/file.c b/fs/adfs/file.c
> index ee80718aaeec..cd13165fd904 100644
> --- a/fs/adfs/file.c
> +++ b/fs/adfs/file.c
> @@ -25,7 +25,7 @@
>  const struct file_operations adfs_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.fsync		= generic_file_fsync,
>  	.write_iter	= generic_file_write_iter,
>  	.splice_read	= filemap_splice_read,
> diff --git a/fs/affs/file.c b/fs/affs/file.c
> index 7a71018e3f67..fbac204b7055 100644
> --- a/fs/affs/file.c
> +++ b/fs/affs/file.c
> @@ -999,7 +999,7 @@ const struct file_operations affs_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.open		= affs_file_open,
>  	.release	= affs_file_release,
>  	.fsync		= affs_file_fsync,
> diff --git a/fs/bfs/file.c b/fs/bfs/file.c
> index fa66a09e496a..6685c3411fe7 100644
> --- a/fs/bfs/file.c
> +++ b/fs/bfs/file.c
> @@ -27,7 +27,7 @@ const struct file_operations bfs_file_operations = {
>  	.llseek 	= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.splice_read	= filemap_splice_read,
>  };
>  
> diff --git a/fs/fat/file.c b/fs/fat/file.c
> index e887e9ab7472..4fc49a614fb8 100644
> --- a/fs/fat/file.c
> +++ b/fs/fat/file.c
> @@ -204,7 +204,7 @@ const struct file_operations fat_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.release	= fat_file_release,
>  	.unlocked_ioctl	= fat_generic_ioctl,
>  	.compat_ioctl	= compat_ptr_ioctl,
> diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
> index a81ce7a740b9..d419586d668d 100644
> --- a/fs/hfs/inode.c
> +++ b/fs/hfs/inode.c
> @@ -690,7 +690,7 @@ static const struct file_operations hfs_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.splice_read	= filemap_splice_read,
>  	.fsync		= hfs_file_fsync,
>  	.open		= hfs_file_open,
> diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c
> index f331e9574217..0af7e302730c 100644
> --- a/fs/hfsplus/inode.c
> +++ b/fs/hfsplus/inode.c
> @@ -366,7 +366,7 @@ static const struct file_operations hfsplus_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.splice_read	= filemap_splice_read,
>  	.fsync		= hfsplus_file_fsync,
>  	.open		= hfsplus_file_open,

Looks good for HFS/HFS+.

Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@....com>

Thanks,
Slava.

> diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
> index 702c41317589..bc22b6cc72af 100644
> --- a/fs/hostfs/hostfs_kern.c
> +++ b/fs/hostfs/hostfs_kern.c
> @@ -382,7 +382,7 @@ static const struct file_operations hostfs_file_fops = {
>  	.splice_write	= iter_file_splice_write,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.open		= hostfs_open,
>  	.release	= hostfs_file_release,
>  	.fsync		= hostfs_fsync,
> diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c
> index 449a3fc1b8d9..a1a44e3edb19 100644
> --- a/fs/hpfs/file.c
> +++ b/fs/hpfs/file.c
> @@ -255,7 +255,7 @@ const struct file_operations hpfs_file_ops =
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.release	= hpfs_file_release,
>  	.fsync		= hpfs_file_fsync,
>  	.splice_read	= filemap_splice_read,
> diff --git a/fs/jffs2/file.c b/fs/jffs2/file.c
> index 13c18ccc13b0..1e05f7fe5dd4 100644
> --- a/fs/jffs2/file.c
> +++ b/fs/jffs2/file.c
> @@ -54,7 +54,7 @@ const struct file_operations jffs2_file_operations =
>   	.read_iter =	generic_file_read_iter,
>   	.write_iter =	generic_file_write_iter,
>  	.unlocked_ioctl=jffs2_ioctl,
> -	.mmap =		generic_file_readonly_mmap,
> +	.mmap_prepare =	generic_file_readonly_mmap_prepare,
>  	.fsync =	jffs2_fsync,
>  	.splice_read =	filemap_splice_read,
>  	.splice_write = iter_file_splice_write,
> diff --git a/fs/jfs/file.c b/fs/jfs/file.c
> index 01b6912e60f8..5e47951db630 100644
> --- a/fs/jfs/file.c
> +++ b/fs/jfs/file.c
> @@ -143,7 +143,7 @@ const struct file_operations jfs_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.splice_read	= filemap_splice_read,
>  	.splice_write	= iter_file_splice_write,
>  	.fsync		= jfs_fsync,
> diff --git a/fs/minix/file.c b/fs/minix/file.c
> index 906d192ab7f3..dca7ac71f049 100644
> --- a/fs/minix/file.c
> +++ b/fs/minix/file.c
> @@ -17,7 +17,7 @@ const struct file_operations minix_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.fsync		= generic_file_fsync,
>  	.splice_read	= filemap_splice_read,
>  };
> diff --git a/fs/omfs/file.c b/fs/omfs/file.c
> index 98358d405b6a..319c04e63964 100644
> --- a/fs/omfs/file.c
> +++ b/fs/omfs/file.c
> @@ -332,7 +332,7 @@ const struct file_operations omfs_file_operations = {
>  	.llseek = generic_file_llseek,
>  	.read_iter = generic_file_read_iter,
>  	.write_iter = generic_file_write_iter,
> -	.mmap = generic_file_mmap,
> +	.mmap_prepare = generic_file_mmap_prepare,
>  	.fsync = generic_file_fsync,
>  	.splice_read = filemap_splice_read,
>  };
> diff --git a/fs/ramfs/file-mmu.c b/fs/ramfs/file-mmu.c
> index b45c7edc3225..b11f5b20b78b 100644
> --- a/fs/ramfs/file-mmu.c
> +++ b/fs/ramfs/file-mmu.c
> @@ -41,7 +41,7 @@ static unsigned long ramfs_mmu_get_unmapped_area(struct file *file,
>  const struct file_operations ramfs_file_operations = {
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.fsync		= noop_fsync,
>  	.splice_read	= filemap_splice_read,
>  	.splice_write	= iter_file_splice_write,
> diff --git a/fs/read_write.c b/fs/read_write.c
> index 0ef70e128c4a..80fdab99f9e4 100644
> --- a/fs/read_write.c
> +++ b/fs/read_write.c
> @@ -28,7 +28,7 @@
>  const struct file_operations generic_ro_fops = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
> -	.mmap		= generic_file_readonly_mmap,
> +	.mmap_prepare	= generic_file_readonly_mmap_prepare,
>  	.splice_read	= filemap_splice_read,
>  };
>  
> diff --git a/fs/ufs/file.c b/fs/ufs/file.c
> index 487ad1fc2de6..c2a391c17df7 100644
> --- a/fs/ufs/file.c
> +++ b/fs/ufs/file.c
> @@ -38,7 +38,7 @@ const struct file_operations ufs_file_operations = {
>  	.llseek		= generic_file_llseek,
>  	.read_iter	= generic_file_read_iter,
>  	.write_iter	= generic_file_write_iter,
> -	.mmap		= generic_file_mmap,
> +	.mmap_prepare	= generic_file_mmap_prepare,
>  	.open           = generic_file_open,
>  	.fsync		= generic_file_fsync,
>  	.splice_read	= filemap_splice_read,

-- 
Viacheslav Dubeyko <Slava.Dubeyko@....com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ