Linux-f2fs-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Amir Goldstein <amir73il@gmail.com>,
	Christian Brauner <brauner@kernel.org>,
	 Chuck Lever <chuck.lever@oracle.com>
Cc: Latchesar Ionkov <lucho@ionkov.net>,
	Dave Kleikamp <shaggy@kernel.org>,
	Alexander Aring <alex.aring@gmail.com>, Jan Kara <jack@suse.cz>,
	Paulo Alcantara <pc@manguebit.org>,
	Sandeep Dhavale <dhavale@google.com>,
	Martin Brandenburg <martin@omnibond.com>,
	Yuezhang Mo <yuezhang.mo@sony.com>,
	Anders Larsen <al@alarsen.net>,
	Christian Schoenebeck <linux_oss@crudebyte.com>,
	jfs-discussion@lists.sourceforge.net,
	linux-unionfs@vger.kernel.org,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Chris Mason <clm@fb.com>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Chunhai Guo <guochunhai@vivo.com>,
	Ilya Dryomov <idryomov@gmail.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	linux-mtd@lists.infradead.org,
	Mike Marshall <hubcap@omnibond.com>,
	linux-xfs@vger.kernel.org, Xiubo Li <xiubli@redhat.com>,
	Yue Hu <zbestahu@gmail.com>, Miklos Szeredi <miklos@szeredi.hu>,
	Richard Weinberger <richard@nod.at>,
	Mark Fasheh <mark@fasheh.com>,
	devel@lists.orangefs.org, Hugh Dickins <hughd@google.com>,
	"Matthew Wilcox \(Oracle\)" <willy@infradead.org>,
	ntfs3@lists.linux.dev, Christoph Hellwig <hch@infradead.org>,
	Joseph Qi <joseph.qi@linux.alibaba.com>,
	linux-mm@kvack.org, Viacheslav Dubeyko <slava@dubeyko.com>,
	linux-btrfs@vger.kernel.org, Gao Xiang <xiang@kernel.org>,
	linux-ext4@vger.kernel.org, Salah Triki <salah.triki@gmail.com>,
	Carlos Maiolino <cem@kernel.org>,
	Dominique Martinet <asmadeus@codewreck.org>,
	Shyam Prasad N <sprasad@microsoft.com>,
	samba-technical@lists.samba.org, linux-cifs@vger.kernel.org,
	Tom Talpey <tom@talpey.com>,
	ocfs2-devel@lists.linux.dev, Bharath SM <bharathsm@microsoft.com>,
	linux-nilfs@vger.kernel.org, David Sterba <dsterba@suse.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	Jeffle Xu <jefflexu@linux.alibaba.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	ceph-devel@vger.kernel.org,
	Eric Van Hensbergen <ericvh@kernel.org>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
	Andreas Gruenbacher <agruenba@redhat.com>,
	Hans de Goede <hansg@kernel.org>,
	gfs2@lists.linux.dev, linux-nfs@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	Theodore Ts'o <tytso@mit.edu>,
	Luis de Bethencourt <luisbg@kernel.org>,
	Nicolas Pitre <nico@fluxnic.net>,
	linux-erofs@lists.ozlabs.org, v9fs@lists.linux.dev,
	Jonathan Corbet <corbet@lwn.net>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Namjae Jeon <linkinjeon@kernel.org>,
	Steve French <sfrench@samba.org>,
	Chuck Lever <chuck.lever@oracle.com>,
	Hongbo Li <lihongbo22@huawei.com>,
	Anna Schumaker <anna@kernel.org>, Jan Kara <jack@suse.com>,
	linux-fsdevel@vger.kernel.org,
	Phillip Lougher <phillip@squashfs.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	Sungjong Seo <sj1557.seo@samsung.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Trond Myklebust <trondmy@kernel.org>,
	Joel Becker <jlbec@evilplan.org>
Subject: Re: [f2fs-dev] [PATCH 00/24] vfs: require filesystems to explicitly opt-in to lease support
Date: Mon, 12 Jan 2026 08:34:33 -0500	[thread overview]
Message-ID: <ec78bf021fa1f6243798945943541ba171e337e7.camel@kernel.org> (raw)
In-Reply-To: <CAOQ4uxgD+Sgbbg9K2U0SF9TyUOBb==Z6auShUWc4FfPaDCQ=rg@mail.gmail.com>

On Fri, 2026-01-09 at 19:52 +0100, Amir Goldstein wrote:
> On Thu, Jan 8, 2026 at 7:57 PM Jeff Layton <jlayton@kernel.org> wrote:
> > 
> > On Thu, 2026-01-08 at 18:40 +0100, Jan Kara wrote:
> > > On Thu 08-01-26 12:12:55, Jeff Layton wrote:
> > > > Yesterday, I sent patches to fix how directory delegation support is
> > > > handled on filesystems where the should be disabled [1]. That set is
> > > > appropriate for v6.19. For v7.0, I want to make lease support be more
> > > > opt-in, rather than opt-out:
> > > > 
> > > > For historical reasons, when ->setlease() file_operation is set to NULL,
> > > > the default is to use the kernel-internal lease implementation. This
> > > > means that if you want to disable them, you need to explicitly set the
> > > > ->setlease() file_operation to simple_nosetlease() or the equivalent.
> > > > 
> > > > This has caused a number of problems over the years as some filesystems
> > > > have inadvertantly allowed leases to be acquired simply by having left
> > > > it set to NULL. It would be better if filesystems had to opt-in to lease
> > > > support, particularly with the advent of directory delegations.
> > > > 
> > > > This series has sets the ->setlease() operation in a pile of existing
> > > > local filesystems to generic_setlease() and then changes
> > > > kernel_setlease() to return -EINVAL when the setlease() operation is not
> > > > set.
> > > > 
> > > > With this change, new filesystems will need to explicitly set the
> > > > ->setlease() operations in order to provide lease and delegation
> > > > support.
> > > > 
> > > > I mainly focused on filesystems that are NFS exportable, since NFS and
> > > > SMB are the main users of file leases, and they tend to end up exporting
> > > > the same filesystem types. Let me know if I've missed any.
> > > 
> > > So, what about kernfs and fuse? They seem to be exportable and don't have
> > > .setlease set...
> > > 
> > 
> > Yes, FUSE needs this too. I'll add a patch for that.
> > 
> > As far as kernfs goes: AIUI, that's basically what sysfs and resctrl
> > are built on. Do we really expect people to set leases there?
> > 
> > I guess it's technically a regression since you could set them on those
> > sorts of files earlier, but people don't usually export kernfs based
> > filesystems via NFS or SMB, and that seems like something that could be
> > used to make mischief.
> > 
> > AFAICT, kernfs_export_ops is mostly to support open_by_handle_at(). See
> > commit aa8188253474 ("kernfs: add exportfs operations").
> > 
> > One idea: we could add a wrapper around generic_setlease() for
> > filesystems like this that will do a WARN_ONCE() and then call
> > generic_setlease(). That would keep leases working on them but we might
> > get some reports that would tell us who's setting leases on these files
> > and why.
> 
> IMO, you are being too cautious, but whatever.
> 
> It is not accurate that kernfs filesystems are NFS exportable in general.
> Only cgroupfs has KERNFS_ROOT_SUPPORT_EXPORTOP.
> 
> If any application is using leases on cgroup files, it must be some
> very advanced runtime (i.e. systemd), so we should know about the
> regression sooner rather than later.
> 

I think so too. For now, I think I'll not bother with the WARN_ONCE().
Let's just leave kernfs out of the set until someone presents a real
use-case.

> There are also the recently added nsfs and pidfs export_operations.
> 
> I have a recollection about wanting to be explicit about not allowing
> those to be exportable to NFS (nsfs specifically), but I can't see where
> and if that restriction was done.
> 
> Christian? Do you remember?
> 

(cc'ing Chuck)

FWIW, you can currently export and mount /sys/fs/cgroup via NFS. The
directory doesn't show up when you try to get to it via NFSv4, but you
can mount it using v3 and READDIR works. The files are all empty when
you try to read them. I didn't try to do any writes.

Should we add a mechanism to prevent exporting these sorts of
filesystems?

Even better would be to make nfsd exporting explicitly opt-in. What if
we were to add a EXPORT_OP_NFSD flag that explicitly allows filesystems
to opt-in to NFS exporting, and check for that in __fh_verify()? We'd
have to add it to a bunch of existing filesystems, but that's fairly
simple to do with an LLM.
-- 
Jeff Layton <jlayton@kernel.org>


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

  parent reply	other threads:[~2026-01-12 13:34 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-08 17:12 [f2fs-dev] [PATCH 00/24] vfs: require filesystems to explicitly opt-in to lease support Jeff Layton via Linux-f2fs-devel
2026-01-08 17:12 ` [f2fs-dev] [PATCH 01/24] fs: add setlease to generic_ro_fops and read-only filesystem directory operations Jeff Layton via Linux-f2fs-devel
2026-01-08 17:26   ` Jan Kara
2026-01-08 17:12 ` [f2fs-dev] [PATCH 02/24] affs: add setlease file operation Jeff Layton via Linux-f2fs-devel
2026-01-08 21:26   ` David Sterba
2026-01-08 17:12 ` [f2fs-dev] [PATCH 03/24] btrfs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 21:26   ` David Sterba
2026-01-08 17:12 ` [f2fs-dev] [PATCH 04/24] erofs: " Jeff Layton via Linux-f2fs-devel
2026-01-10  1:47   ` Chao Yu via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 05/24] ext2: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:28   ` Jan Kara
2026-01-08 17:13 ` [f2fs-dev] [PATCH 06/24] ext4: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:28   ` Jan Kara
2026-01-08 17:13 ` [f2fs-dev] [PATCH 07/24] exfat: " Jeff Layton via Linux-f2fs-devel
2026-01-08 22:47   ` Namjae Jeon via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 08/24] f2fs: " Jeff Layton via Linux-f2fs-devel
2026-01-10  1:47   ` Chao Yu via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 09/24] fat: " Jeff Layton via Linux-f2fs-devel
2026-01-08 18:12   ` OGAWA Hirofumi
2026-01-08 17:13 ` [f2fs-dev] [PATCH 10/24] gfs2: add a " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 11/24] jffs2: add " Jeff Layton via Linux-f2fs-devel
2026-01-09  8:49   ` Richard Weinberger
2026-01-08 17:13 ` [f2fs-dev] [PATCH 12/24] jfs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 19:46   ` Dave Kleikamp via Linux-f2fs-devel
2026-01-09  7:40   ` Richard Weinberger
2026-01-09  8:48     ` Richard Weinberger
2026-01-08 17:13 ` [f2fs-dev] [PATCH 13/24] nilfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-09  5:26   ` Ryusuke Konishi
2026-01-08 17:13 ` [f2fs-dev] [PATCH 14/24] ntfs3: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 15/24] ocfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:29   ` Jan Kara
2026-01-08 17:13 ` [f2fs-dev] [PATCH 16/24] orangefs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 17/24] overlayfs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 18/24] squashfs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 19/24] tmpfs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:31   ` Jan Kara
2026-01-08 17:13 ` [f2fs-dev] [PATCH 20/24] udf: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:29   ` Jan Kara
2026-01-08 17:13 ` [f2fs-dev] [PATCH 21/24] ufs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 22/24] xfs: " Jeff Layton via Linux-f2fs-devel
2026-01-08 17:13 ` [f2fs-dev] [PATCH 23/24] filelock: default to returning -EINVAL when ->setlease operation is NULL Jeff Layton via Linux-f2fs-devel
2026-01-08 17:34   ` Jan Kara
2026-01-08 17:13 ` [f2fs-dev] [PATCH 24/24] fs: remove simple_nosetlease() Jeff Layton via Linux-f2fs-devel
2026-01-08 17:34   ` Jan Kara
     [not found]   ` <aZ84VRrRVyGEzSJn@kernel.org>
2026-03-04 16:59     ` Jeff Layton via Linux-f2fs-devel
2026-03-04 22:29       ` Mike Snitzer via Linux-f2fs-devel
2026-03-05 19:25         ` Jeff Layton via Linux-f2fs-devel
2026-01-08 17:40 ` [f2fs-dev] [PATCH 00/24] vfs: require filesystems to explicitly opt-in to lease support Jan Kara
2026-01-08 18:56   ` Jeff Layton via Linux-f2fs-devel
2026-01-09  9:26     ` Jan Kara
2026-01-09 18:52     ` Amir Goldstein
2026-01-12  9:49       ` Christian Brauner via Linux-f2fs-devel
2026-01-12 13:34       ` Jeff Layton via Linux-f2fs-devel [this message]
2026-01-12 14:31         ` Chuck Lever via Linux-f2fs-devel
2026-01-12 14:50           ` Jeff Layton via Linux-f2fs-devel
2026-01-13  8:54             ` Christian Brauner via Linux-f2fs-devel
2026-01-13 11:45               ` Jeff Layton via Linux-f2fs-devel
2026-01-13 14:03                 ` Chuck Lever via Linux-f2fs-devel
2026-01-13 14:27                   ` Jeff Layton via Linux-f2fs-devel
2026-01-13 14:31                     ` Chuck Lever via Linux-f2fs-devel
2026-01-13 15:00                       ` Jeff Layton via Linux-f2fs-devel
2026-01-13 14:54               ` Christoph Hellwig
2026-01-13 17:06                 ` Jeff Layton via Linux-f2fs-devel
2026-01-14  6:28                   ` Christoph Hellwig
2026-01-14  9:34                     ` Amir Goldstein
2026-01-14 13:06                       ` Christoph Hellwig
2026-01-14 13:41                         ` Jeff Layton via Linux-f2fs-devel
2026-01-14 14:14                           ` Amir Goldstein
2026-01-14 14:52                             ` Chuck Lever via Linux-f2fs-devel
2026-01-14 15:05                             ` Christoph Hellwig
2026-01-15  8:18                               ` Christian Brauner via Linux-f2fs-devel
2026-01-14 15:26                           ` Christian Brauner via Linux-f2fs-devel
2026-01-14 15:20                         ` Christian Brauner via Linux-f2fs-devel
2026-01-15  6:42                           ` Christoph Hellwig
2026-01-15  8:14                             ` Christian Brauner via Linux-f2fs-devel
2026-01-15  8:33                               ` Christoph Hellwig
2026-01-14 13:39                       ` David Laight
2026-01-09  6:00 ` Christoph Hellwig
2026-01-09  8:03 ` Al Viro
2026-01-12  9:56 ` Christian Brauner via Linux-f2fs-devel
2026-02-17 21:14 ` patchwork-bot+f2fs--- via Linux-f2fs-devel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ec78bf021fa1f6243798945943541ba171e337e7.camel@kernel.org \
    --to=linux-f2fs-devel@lists.sourceforge.net \
    --cc=adilger.kernel@dilger.ca \
    --cc=agruenba@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=al@alarsen.net \
    --cc=alex.aring@gmail.com \
    --cc=almaz.alexandrovich@paragon-software.com \
    --cc=amir73il@gmail.com \
    --cc=anna@kernel.org \
    --cc=asmadeus@codewreck.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=bharathsm@microsoft.com \
    --cc=brauner@kernel.org \
    --cc=cem@kernel.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=clm@fb.com \
    --cc=corbet@lwn.net \
    --cc=devel@lists.orangefs.org \
    --cc=dhavale@google.com \
    --cc=dsterba@suse.com \
    --cc=dwmw2@infradead.org \
    --cc=ericvh@kernel.org \
    --cc=gfs2@lists.linux.dev \
    --cc=guochunhai@vivo.com \
    --cc=hansg@kernel.org \
    --cc=hch@infradead.org \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=hubcap@omnibond.com \
    --cc=hughd@google.com \
    --cc=idryomov@gmail.com \
    --cc=jack@suse.com \
    --cc=jack@suse.cz \
    --cc=jaegeuk@kernel.org \
    --cc=jefflexu@linux.alibaba.com \
    --cc=jfs-discussion@lists.sourceforge.net \
    --cc=jlayton@kernel.org \
    --cc=jlbec@evilplan.org \
    --cc=joseph.qi@linux.alibaba.com \
    --cc=konishi.ryusuke@gmail.com \
    --cc=lihongbo22@huawei.com \
    --cc=linkinjeon@kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-nilfs@vger.kernel.org \
    --cc=linux-unionfs@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=linux_oss@crudebyte.com \
    --cc=lucho@ionkov.net \
    --cc=luisbg@kernel.org \
    --cc=mark@fasheh.com \
    --cc=martin@omnibond.com \
    --cc=miklos@szeredi.hu \
    --cc=nico@fluxnic.net \
    --cc=ntfs3@lists.linux.dev \
    --cc=ocfs2-devel@lists.linux.dev \
    --cc=pc@manguebit.org \
    --cc=phillip@squashfs.org.uk \
    --cc=richard@nod.at \
    --cc=ronniesahlberg@gmail.com \
    --cc=salah.triki@gmail.com \
    --cc=samba-technical@lists.samba.org \
    --cc=sfrench@samba.org \
    --cc=shaggy@kernel.org \
    --cc=sj1557.seo@samsung.com \
    --cc=slava@dubeyko.com \
    --cc=sprasad@microsoft.com \
    --cc=tom@talpey.com \
    --cc=trondmy@kernel.org \
    --cc=tytso@mit.edu \
    --cc=v9fs@lists.linux.dev \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    --cc=xiang@kernel.org \
    --cc=xiubli@redhat.com \
    --cc=yuezhang.mo@sony.com \
    --cc=zbestahu@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox