[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <78CFACCD-E2F1-4FF6-96BA-3738748A3B40@oracle.com>
Date: Wed, 13 Nov 2024 14:41:29 +0000
From: Chuck Lever III <chuck.lever@...cle.com>
To: Jeff Layton <jlayton@...nel.org>
CC: Erin Shepherd <erin.shepherd@....eu>,
"Darrick J. Wong"
<djwong@...nel.org>,
Christian Brauner <brauner@...nel.org>,
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 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.
--
Chuck Lever
Powered by blists - more mailing lists