From: Jeff Layton via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Amir Goldstein <amir73il@gmail.com>
Cc: Martin Brandenburg <martin@omnibond.com>,
jfs-discussion@lists.sourceforge.net, Jan Kara <jack@suse.cz>,
Paulo Alcantara <pc@manguebit.org>,
Alex Markuze <amarkuze@redhat.com>,
Sandeep Dhavale <dhavale@google.com>,
linux-btrfs@vger.kernel.org, Carlos Maiolino <cem@kernel.org>,
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>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>,
linux-mtd@lists.infradead.org,
Mike Marshall <hubcap@omnibond.com>,
linux-xfs@vger.kernel.org, linux-nilfs@vger.kernel.org,
Yue Hu <zbestahu@gmail.com>, Miklos Szeredi <miklos@szeredi.hu>,
Richard Weinberger <richard@nod.at>,
Mark Fasheh <mark@fasheh.com>, Hugh Dickins <hughd@google.com>,
Dai Ngo <Dai.Ngo@oracle.com>,
Ryusuke Konishi <konishi.ryusuke@gmail.com>,
Christoph Hellwig <hch@infradead.org>,
Viacheslav Dubeyko <slava@dubeyko.com>,
NeilBrown <neil@brown.name>, Ilya Dryomov <idryomov@gmail.com>,
linux-ext4@vger.kernel.org, Salah Triki <salah.triki@gmail.com>,
linux-mm@kvack.org, devel@lists.orangefs.org,
Shyam Prasad N <sprasad@microsoft.com>,
Olga Kornievskaia <okorniev@redhat.com>,
linux-cifs@vger.kernel.org, Dave Kleikamp <shaggy@kernel.org>,
linux-nfs@vger.kernel.org, Tom Talpey <tom@talpey.com>,
ocfs2-devel@lists.linux.dev, Bharath SM <bharathsm@microsoft.com>,
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, Gao Xiang <xiang@kernel.org>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Andreas Gruenbacher <agruenba@redhat.com>,
gfs2@lists.linux.dev, Christian Brauner <brauner@kernel.org>,
Theodore Ts'o <tytso@mit.edu>,
Luis de Bethencourt <luisbg@kernel.org>,
Joseph Qi <joseph.qi@linux.alibaba.com>,
linux-erofs@lists.ozlabs.org, samba-technical@lists.samba.org,
linux-kernel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
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>,
ntfs3@lists.linux.dev, David Woodhouse <dwmw2@infradead.org>,
Trond Myklebust <trondmy@kernel.org>,
Joel Becker <jlbec@evilplan.org>
Subject: Re: [f2fs-dev] [PATCH 29/29] nfsd: only allow filesystems that set EXPORT_OP_STABLE_HANDLES
Date: Fri, 16 Jan 2026 10:13:52 -0500 [thread overview]
Message-ID: <0cb769af0673ea1c28df7fa9a1cefe3ec23bc367.camel@kernel.org> (raw)
In-Reply-To: <CAOQ4uxhkZNueydP0tTCAj6tuzKWPTYB7=JR_hb4gaavSKQ8C2w@mail.gmail.com>
On Fri, 2026-01-16 at 15:46 +0100, Amir Goldstein wrote:
> On Fri, Jan 16, 2026 at 1:36 PM Jeff Layton <jlayton@kernel.org> wrote:
> >
> > On Thu, 2026-01-15 at 20:23 +0100, Amir Goldstein wrote:
> > > On Thu, Jan 15, 2026 at 6:51 PM Jeff Layton <jlayton@kernel.org> wrote:
> > > >
> > > > Some filesystems have grown export operations in order to provide
> > > > filehandles for local usage. Some of these filesystems are unsuitable
> > > > for use with nfsd, since their filehandles are not persistent across
> > > > reboots.
> > > >
> > > > In __fh_verify, check whether EXPORT_OP_STABLE_HANDLES is set
> > > > and return nfserr_stale if it isn't.
> > > >
> > > > Signed-off-by: Jeff Layton <jlayton@kernel.org>
> > > > ---
> > > > fs/nfsd/nfsfh.c | 4 ++++
> > > > 1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
> > > > index ed85dd43da18e6d4c4667ff14dc035f2eacff1d6..da9d5fb2e6613c2707195da2e8678b3fcb3d444d 100644
> > > > --- a/fs/nfsd/nfsfh.c
> > > > +++ b/fs/nfsd/nfsfh.c
> > > > @@ -334,6 +334,10 @@ __fh_verify(struct svc_rqst *rqstp,
> > > > dentry = fhp->fh_dentry;
> > > > exp = fhp->fh_export;
> > > >
> > > > + error = nfserr_stale;
> > > > + if (!(dentry->d_sb->s_export_op->flags & EXPORT_OP_STABLE_HANDLES))
> > > > + goto out;
> > > > +
> > > > trace_nfsd_fh_verify(rqstp, fhp, type, access);
> > > >
> > >
> > > IDGI. Don't you want to deny the export of those fs in check_export()?
> > > By the same logic that check_export() checks for can_decode_fh()
> > > not for can_encode_fh().
> > >
> >
> > It certainly won't hurt to add a check for this to check_export(), and
> > I've gone ahead and done so. To be clear, doing that won't prevent the
> > filesystem from being exported, but you will get a warning like this
> > when you try:
> >
> > exportfs: /sys/fs/cgroup does not support NFS export
> >
> > That export will still show up in mountd though, so this is just a
> > warning. Trying to mount it though will fail.
> >
>
> Oh, I did not know. What an odd user experience.
> Anyway, better than no warning at all.
>
Indeed.
The catch is that this won't catch all scenarios where that fs could be
exported. If you do something like this in /etc/exports:
/ *(rw,crossmnt,insecure,no_root_squash)
...you won't see a warning. Granted, doing the above is _dumb_ but it
illustrates that it's not possible to completely vet the export table.
Even if you could, it could change out from under you.
We do have some ideas about updating the export management, but nothing
concrete yet. Even then, we'll need to maintain backward compatibility,
so I doubt we can change the user experience in a fundamental way at
this point.
--
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
next prev parent reply other threads:[~2026-01-16 15:14 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 17:47 [f2fs-dev] [PATCH 00/29] fs: require filesystems to explicitly opt-in to nfsd export support Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 01/29] exportfs: add new EXPORT_OP_STABLE_HANDLES flag Jeff Layton via Linux-f2fs-devel
2026-01-16 10:45 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 02/29] tmpfs: add EXPORT_OP_STABLE_HANDLES flag to export operations Jeff Layton via Linux-f2fs-devel
2026-01-16 10:47 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 03/29] ext4: " Jeff Layton via Linux-f2fs-devel
2026-01-16 2:22 ` Theodore Tso
2026-01-16 10:46 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 04/29] ext2: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:46 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 05/29] erofs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 06/29] efs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 07/29] xfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 08/29] ceph: " Jeff Layton via Linux-f2fs-devel
2026-01-15 19:16 ` Viacheslav Dubeyko via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 09/29] btrfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 10/29] befs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 11/29] ufs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 12/29] udf: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:47 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 13/29] affs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 14/29] squashfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 15/29] smb/client: " Jeff Layton via Linux-f2fs-devel
2026-01-15 19:26 ` Amir Goldstein
2026-01-15 17:47 ` [f2fs-dev] [PATCH 16/29] ovl: " Jeff Layton via Linux-f2fs-devel
2026-01-15 18:21 ` Amir Goldstein
2026-01-15 17:47 ` [f2fs-dev] [PATCH 17/29] orangefs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 18/29] ocfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:47 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 19/29] ntfs3: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 20/29] nilfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-19 8:39 ` Ryusuke Konishi
2026-01-15 17:47 ` [f2fs-dev] [PATCH 21/29] nfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 22/29] jfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 22:09 ` Dave Kleikamp via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 23/29] jffs2: " Jeff Layton via Linux-f2fs-devel
2026-01-18 15:36 ` Richard Weinberger
2026-01-15 17:47 ` [f2fs-dev] [PATCH 24/29] isofs: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:48 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 25/29] gfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 26/29] fuse: " Jeff Layton via Linux-f2fs-devel
2026-01-15 18:54 ` Amir Goldstein
2026-01-15 19:46 ` Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 27/29] fat: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 28/29] f2fs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:48 ` [f2fs-dev] [PATCH 29/29] nfsd: only allow filesystems that set EXPORT_OP_STABLE_HANDLES Jeff Layton via Linux-f2fs-devel
2026-01-15 19:23 ` Amir Goldstein
2026-01-16 12:36 ` Jeff Layton via Linux-f2fs-devel
2026-01-16 14:46 ` Amir Goldstein
2026-01-16 15:13 ` Jeff Layton via Linux-f2fs-devel [this message]
2026-01-15 18:17 ` [f2fs-dev] [PATCH 00/29] fs: require filesystems to explicitly opt-in to nfsd export support Amir Goldstein
2026-01-15 18:29 ` Jeff Layton via Linux-f2fs-devel
2026-01-18 23:23 ` NeilBrown
2026-01-19 6:41 ` Christoph Hellwig
2026-01-19 7:22 ` NeilBrown
2026-01-19 7:25 ` Christoph Hellwig
2026-01-19 9:27 ` Christian Brauner via Linux-f2fs-devel
2026-01-19 20:45 ` NeilBrown
2026-01-20 7:38 ` Christoph Hellwig
2026-01-20 9:27 ` NeilBrown
2026-01-20 10:34 ` Christian Brauner via Linux-f2fs-devel
2026-01-21 9:48 ` Christoph Hellwig
2026-01-21 10:34 ` NeilBrown
2026-01-21 14:27 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 14:47 ` Christoph Hellwig
2026-01-21 15:18 ` Jeff Layton via Linux-f2fs-devel
2026-01-22 6:37 ` Christoph Hellwig
2026-01-22 12:12 ` Jeff Layton via Linux-f2fs-devel
2026-01-22 17:04 ` Darrick J. Wong via Linux-f2fs-devel
2026-01-21 12:37 ` Jeff Layton via Linux-f2fs-devel
2026-01-20 9:04 ` Christian Brauner via Linux-f2fs-devel
2026-01-20 9:41 ` NeilBrown
2026-01-20 10:31 ` Christian Brauner via Linux-f2fs-devel
2026-01-20 12:50 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 3:58 ` NeilBrown
2026-01-21 11:56 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 18:59 ` Amir Goldstein
2026-01-21 10:00 ` Christoph Hellwig
2026-01-21 10:01 ` Christoph Hellwig
2026-01-21 9:58 ` Christoph Hellwig
2026-01-21 9:52 ` Christoph Hellwig
2026-01-19 12:30 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 4:10 ` NeilBrown
2026-01-15 18:31 ` Chuck Lever via Linux-f2fs-devel
2026-01-15 19:14 ` Amir Goldstein
2026-01-15 19:31 ` Amir Goldstein
2026-01-15 19:37 ` Chuck Lever via Linux-f2fs-devel
2026-01-15 19:47 ` Amir Goldstein
2026-01-15 21:09 ` Dave Chinner via Linux-f2fs-devel
2026-01-15 21:37 ` Chuck Lever via Linux-f2fs-devel
2026-01-15 22:40 ` David Laight
2026-01-19 7:56 ` Christoph Hellwig
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=0cb769af0673ea1c28df7fa9a1cefe3ec23bc367.camel@kernel.org \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=Dai.Ngo@oracle.com \
--cc=adilger.kernel@dilger.ca \
--cc=agruenba@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=almaz.alexandrovich@paragon-software.com \
--cc=amarkuze@redhat.com \
--cc=amir73il@gmail.com \
--cc=anna@kernel.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=devel@lists.orangefs.org \
--cc=dhavale@google.com \
--cc=dsterba@suse.com \
--cc=dwmw2@infradead.org \
--cc=gfs2@lists.linux.dev \
--cc=guochunhai@vivo.com \
--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=linux-btrfs@vger.kernel.org \
--cc=linux-cifs@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=luisbg@kernel.org \
--cc=mark@fasheh.com \
--cc=martin@omnibond.com \
--cc=miklos@szeredi.hu \
--cc=neil@brown.name \
--cc=ntfs3@lists.linux.dev \
--cc=ocfs2-devel@lists.linux.dev \
--cc=okorniev@redhat.com \
--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=slava@dubeyko.com \
--cc=sprasad@microsoft.com \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=xiang@kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).