[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241114-dachorganisation-erloschen-4d1b903b65c9@brauner>
Date: Thu, 14 Nov 2024 11:39:26 +0100
From: Christian Brauner <brauner@...nel.org>
To: Chuck Lever III <chuck.lever@...cle.com>,
"Darrick J. Wong" <djwong@...nel.org>
Cc: Jeff Layton <jlayton@...nel.org>, Erin Shepherd <erin.shepherd@....eu>,
Amir Goldstein <amir73il@...il.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux FS Devel <linux-fsdevel@...r.kernel.org>, "christian@...uner.io" <christian@...uner.io>,
Paul Moore <paul@...l-moore.com>, "bluca@...ian.org" <bluca@...ian.org>
Subject: Re: [PATCH 0/4] pidfs: implement file handle support
On Wed, Nov 13, 2024 at 02:41:29PM +0000, Chuck Lever III wrote:
>
>
> > On Nov 13, 2024, at 8:29 AM, Jeff Layton <jlayton@...nel.org> wrote:
> >
> > On Wed, 2024-11-13 at 11:17 +0100, Erin Shepherd wrote:
> >> On 13/11/2024 01:40, Darrick J. Wong wrote:
> >>>> Hmm, I guess I might have made that possible, though I'm certainly not
> >>>> familiar enough with the internals of nfsd to be able to test if I've done
> >>>> so.
> >>> AFAIK check_export() in fs/nfsd/export.c spells this it out:
> >>>
> >>> /* There are two requirements on a filesystem to be exportable.
> >>> * 1: We must be able to identify the filesystem from a number.
> >>> * either a device number (so FS_REQUIRES_DEV needed)
> >>> * or an FSID number (so NFSEXP_FSID or ->uuid is needed).
> >>> * 2: We must be able to find an inode from a filehandle.
> >>> * This means that s_export_op must be set.
> >>> * 3: We must not currently be on an idmapped mount.
> >>> */
> >>>
> >>> Granted I've been wrong on account of stale docs before. :$
> >>>
> >>> Though it would be kinda funny if you *could* mess with another
> >>> machine's processes over NFS.
> >>>
> >>> --D
> >>
> >> To be clear I'm not familiar enough with the workings of nfsd to tell if
> >> pidfs fails those requirements and therefore wouldn't become exportable as
> >> a result of this patch, though I gather from you're message that we're in the
> >> clear?
> >>
> >> Regardless I think my question is: do we think either those requirements could
> >> change in the future, or the properties of pidfs could change in the future,
> >> in ways that could accidentally make the filesystem exportable?
> >>
> >> I guess though that the same concern would apply to cgroupfs and it hasn't posed
> >> an issue so far.
> >
> > We have other filesystems that do this sort of thing (like cgroupfs),
> > and we don't allow them to be exportable. We'll need to make sure that
> > that's the case before we merge this, of course, as I forget the
> > details of how that works.
>
> It's far easier to add exportability later than it is
> to remove it if we think it was a mistake. I would err
> on the side of caution if there isn't an immediate
> need/use-case for exposure via NFS.
Tbh, the idea itself of exporting pidfs via nfs is a) crazy and b)
pretty interesting. If we could really export pidfs over NFS cleanly
somehow then we would have a filesystem-like representation of a remote
machine's processes. There could be a lot of interesting things in this.
But I would think that this requires some proper massaging of how pidfs
works. But in principle it might be possible.
Again, I'm not saying it's a great idea and we definitely shouldn't do
it now. But it's an interesting thought experiment at least.
Powered by blists - more mailing lists